更改海盗湾范围打开结果的方式

更改海盗湾范围打开结果的方式

说实话,我并不完全清楚自己在做什么,但我正尝试让 Pirate Bay Scope 使用 Acestream Player 打开其结果。其中一个问题是 Acestream 不知道如何处理磁力链接。

原始代码为:

def on_activate_uri (self, scope, uri):
    if uri.startswith("more"):
        results = self.scope.props.results_model
        page = uri.split('__')[2]
        search = uri.split('__')[1]
        results.remove(results.get_iter_at_row(results.get_n_rows()-1))
        self.update_results_model (search, results, page)
        return Unity.ActivationResponse(handled=Unity.HandledType.SHOW_DASH, goto_uri="")
    else:
        print uri
        GLib.spawn_command_line_async('gvfs-open %s' % uri)
        return Unity.ActivationResponse(handled=Unity.HandledType.HIDE_DASH, goto_uri='')

我修改了其中一行,如下所示:

GLib.spawn_command_line_async('aria2c -d ~/.torrents --on-download-complete ~/.torrent.sh --bt-metadata-only=true --bt-save-metadata=true \'%s\'' % uri)

我正在使用 aria2c 连接到磁力链接并下载一个 torrent 文件,一旦文件下载完毕,aria2c 就会运行一个 bash 脚本,该脚本会使用 Acestream 打开 torrent 文件。此过程在命令行上运行良好。我猜我的语法是错误的。

任何帮助是极大的赞赏。

谢谢

答案1

它最终通过使用 Popen 拼写出我想要运行的每个命令而起作用,最终的实现如下。

    else:
        print uri
        subprocess.Popen('rm /path/.torrents/*', shell=True)
        subprocess.Popen('gnome-terminal -x aria2c --allow-overwrite=true -d /path/.torrents --bt-metadata-only=true --bt-save-metadata=true \'%s\'' % uri, shell=True).wait()
        torrent = subprocess.check_output('ls /path/.torrents/*', shell=True).strip()
        GLib.spawn_command_line_async('acestreamplayer %s' % torrent)
        return Unity.ActivationResponse(handled=Unity.HandledType.HIDE_DASH, goto_uri='')

现在我只需要分析成人热门内容。毕竟它是为家庭娱乐系统准备的。

相关内容