def get_torrent(name, season=None, episode=None): interface = get_interface() path = abspath(__file__) dir_path = dirname(path) exec_ = join(dir_path, "__init__.py") command = '%s %s \"%s\" ' % (py_exec, exec_, name) if season is not None: command += "%s %s " % (season, episode) lock = Lock(LOCKFILE) if lock.is_same_file(name, season, episode) and \ is_process_running(lock.get_pid()): data = lock._get_file_data() port = data[4] else: port = get_free_port() command += "--daemon --port %s " % port log.debug(command) process = Popen(command, shell=True, stdout=PIPE, stderr=STDOUT) sleep(1) redirect_url = "http://%s:%s" % (interface, port) serving = False while not serving: try: req = requests.get("%s/status" % redirect_url) serving = True except requests.ConnectionError, e: sleep(1)
def get_torrent(name, season=None, episode=None): interface = get_interface() settings = get_settings() path = abspath(__file__) dir_path = dirname(path) exec_ = join(dir_path, "..", "main.py") command = '%s %s \"%s\" ' % (py_exec, exec_, name) if season is not None: command += "%s %s " % (season, episode) lock = Lock(LOCK_FILE) if lock.is_same_file(name, season, episode) and \ is_process_running(lock.get_pid()): data = lock._get_file_data() port = data[4] else: if settings.force_ts_proxy_port: port = settings.ts_proxy_port else: port = get_free_port() command += "--daemon --port %s " % port log.info(command) process = Popen(command, shell=True, stdout=PIPE, stderr=STDOUT) sleep(1) redirect_url = "http://%s:%s" % (interface, port) serving = False while not serving: try: req = requests.get("%s/status" % redirect_url) serving = True except requests.ConnectionError, e: sleep(1)
def __init__(self, magnet, port=None, sub_lang=None, serve=False): self.magnet = magnet if port is None: port = DEFAULT_PORT port = int(port) if not is_port_free(port): port = get_free_port() log.info("[Magnet]: %s [Port]: %s [Sub_lang]: %s [Serve]: %s ", magnet, port, sub_lang, serve) self.port = port self.serve = serve # number of pieces to wait until start streaming # we are waiting untill all the first peices are downloaded # the biggest file which is supposed to be a video file self._video_file = None self.callback = serve_file self._served_blocks = None self.streaming = False self.init_handle() self.strategy = self.strategy_class(self) if sub_lang is not None: self.subtitle = self.sub_downloader_class(sub_lang) else: self.subtitle = None
def __init__(self, magnet, port=None, sub_lang=None, serve=False, player=None): self.settings = get_settings() self.magnet = magnet if port is None: port = DEFAULT_PORT port = int(port) if not is_port_free(port): port = get_free_port() log.info( "[Magnet]: %s [Port]: %s [Sub_lang]: %s [Serve]: %s " "[Player] %s ", magnet, port, sub_lang, serve, player) self.port = port self.serve = serve if player is None: player = self.settings.players.default self.player = player # number of pieces to wait until start streaming # we are waiting untill all the first peices are downloaded # the biggest file which is supposed to be a video file self._video_file = None self.callback = serve_file self._served_blocks = None self.streaming = False self.stream_th = None self.player_th = None self.httpd = None self._guess = None self.init_handle() self.strategy = self.strategy_class(self) if sub_lang is not None: self.subtitle = self.sub_downloader_class(sub_lang) else: self.subtitle = None