def get_path_or_url_and_episode(settings, params, torrent_source): tempPath = xbmc.translatePath('special://temp').decode('utf-8') from downloader import TorrentDownloader torr_downloader = TorrentDownloader(urllib.unquote(torrent_source), tempPath, settings) path = filesystem.join(settings.torrents_path(), torr_downloader.get_subdir_name(), torr_downloader.get_post_index() + '.torrent') if not filesystem.exists(path): if not torr_downloader.start(): return None torr_downloader.move_file_to(path) torr_downloader = None return {'path_or_url': path, 'episode': params.get('episodeNumber', None), 'downloader': torr_downloader}