別のディレクトリのファイルを使用してCLIから急流を作成する

別のディレクトリのファイルを使用してCLIから急流を作成する

私のディレクトリ構造は次のとおりです。

dirA
   fileA1
   fileA2
   ...
dirB
   fileB1
   fileB2
   ...

CLIユーティリティを使用して、次のものを含む急流を作成したいと思います。

dirA/fileA1
dirB/fileB1

(注:これは単純化された例です。実際には、各ディレクトリには4つのディレクトリと数千のファイルがあり、各ディレクトリから約100のファイルを選択しようとしています。したがって、特定のファイルを除外するソリューションは開始されません。)

私が今まで試したこと:

  • 急流単一のファイルまたはディレクトリのみを指定できます。
  • 急流単一のファイルまたはディレクトリのみを指定できます。
  • トランスポートの生成単一のファイルまたはディレクトリのみを指定できます。
  • py3torrentcreator単一のファイルまたはディレクトリのみを指定できます。除外するファイルパターンを指定できますが、個別に除外するには他のファイルが多すぎます。

また、Pythonバインディングを試しましたが、対応するlibtorrentadd_filesメソッドはディレクトリ名を削除します。

>>> import libtorrent as lt
>>> fs = lt.file_storage()
>>> lt.add_files(fs, 'dirA/fileA1')
>>> lt.add_files(fs, 'dirB/fileB1')
>>> print fs.at(0).path
fileA1
>>> t = lt.create_torrent(fs)
>>> lt.set_piece_hashes(t, '.')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: No such file or directory

これを行う方法はありますか?

ベストアンサー1

私が知っている限り、最も簡単な方法は、急流に追加したいさまざまなファイルまたはディレクトリへのシンボリックリンクを含むディレクトリを作成することです。

親ディレクトリにシンボリックリンクを追加する
cd ~/Shared/parent-dir/
ln -s /path/to/file
ln -s /path/to/dir

あなたの種を作る
Transmission-createを使用してテストすると、このソースフォルダに新しい急流を作成でき、すべてのシンボリックリンクが通過します。

transmission-create ~/Shared/parent-dir/

親ディレクトリの子孫以外のファイルへのフルファイルパスは、急流のメタ情報に保存できません。ピアが複数ファイルの急流をダウンロードすると、メタ情報の急流名を使用してディレクトリが作成されます。このディレクトリは、メタ情報に含まれるすべてのファイルの最上位の親ディレクトリとして機能します。

私が呼び出した急流のメタ情報の出力ですbt-symlinks.torrent。ファイルパスのみがメタ情報に保存され、常に名前(infile)で始まります。1彼らのトップレベルで使用2目次サム

transmission-show bt-symlinks.torrent

Name: bt-symlinks
File: .torrent

GENERAL

  Name: bt-symlinks
  Hash: 35af9b734284f9259763defe6095424fe3b79b42
  Created by: Transmission/2.82 (14160)
  Created on: Sat Dec 27 12:04:59 2014
  Piece Count: 2357
  Piece Size: 64.00 KiB
  Total Size: 154.4 MB
  Privacy: Public torrent

TRACKERS

FILES

  bt-symlinks/bt-symlinks.torrent (57.40 kB)
  bt-symlinks/gifs/Bill-Cosby-Jell-o-GIF.gif (810.3 kB)
  bt-symlinks/gifs/Firefly_Lantern_Animation_by_ProdigyBombay.gif (485.2 kB)
  bt-symlinks/gifs/L-cake.gif (455.2 kB)
  bt-symlinks/gifs/L-sweets.gif (871.0 kB)
  bt-symlinks/gifs/Metroid (NES) Music - Kraids Hideout.mp4 (4.16 MB)
  bt-symlinks/gifs/Phantasy Star II_Mother Brain.gif (530.5 kB)

おすすめ記事