【问题标题】:Creating and Seeding torrents with Python + Transmission使用 Python + 传输创建和播种种子
【发布时间】:2021-08-11 15:36:17
【问题描述】:

我想创建种子,基于守护进程检查文件夹的更新并在文件夹中添加新的 *.mp4 文件时创建新的种子。这是我的sn-p代码,守护进程正常工作,它是种子部分不起作用。我正在使用 Torf 库来创建种子,并使用 transmission-rpc 来与正在运行的传输守护进程交互:

def on_created(self, event):
    name = Path(event.src_path).stem
    torrent = Torrent(event.src_path, name)
    torrent.generate()
    self.transmission_client.add_torrent(str(torrent.magnet()), download_dir="/home/neverovskii/torrent_dir")

下载目录相同,.mp4文件在其中。洪流添加没有问题,但它无法检查数据是否在这里并且无法开始播种。传输网络节目 this:它正确识别文件名、文件大小和片段并获取 info_hash,但不能正常工作。我做错了什么?

【问题讨论】:

    标签: python transmission


    【解决方案1】:

    客户说“有:0B”,这意味着客户确实知道您已经拥有的数据。

    由于Path(event.src_path)download_dir="/home/neverovskii torrent_dir" 不一定相同,这很可能是因为您将客户端指向文件当前不存在的位置。 换句话说,除了告诉它有关元数据的信息之外,您还需要告诉它有关文件的信息。

    另外,.add_torrent(str(torrent.magnet()), 将是一个问题,因为磁力链接包含的信息少于.torrent 文件。客户端可以使用 torrent 文件中的额外信息来开始播种预先存在的数据,而不必从另一个客户端获取数据。换句话说,当您想成为种子的初始播种者时需要它。

    因此,您应该将整个 torrent 文件传递​​给客户端,并将其指向可以找到数据的正确位置。然后你可能不得不告诉它重新检查数据并开始播种。

    【讨论】:

    • 好吧,为了确保下载路径相同,我决定创建保存相关文件夹路径的变量,而不是使用 download_dir='string'。对我来说,它是 folder_path = '/home/neverovskii/Documents'。我扫描它,然后将新的种子定向到这个位置。然后,我更改了代码以创建 .torrent 文件并改为使用它们。这两个修复都不起作用。但有效的是使用传输创建命令而不是 torf 库。传输立即验证文件并开始播种。我会在研究如何正确使用 torf 时更新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多