def __init__(self, queue, src=None, dest=None, forceasklocation=False, caller=""): self.queue = queue self.utility = self.queue.utility self.list = self.utility.list self.listindex = len(self.utility.torrents["all"]) self.src = src self.status = TorrentStatus(self) self.actions = TorrentActions(self) self.dialogs = TorrentDialogs(self) self.connection = TorrentConnections(self) ######### self.metainfo = self.getResponse() if self.metainfo is None: return # Get infohash first before doing anything else self.infohash = sha(bencode(self.metainfo['info'])).hexdigest() self.torrentconfig = TorrentConfig(self) # Check for valid windows filename if sys.platform == 'win32': fixedname = self.utility.fixWindowsName( self.metainfo['info']['name']) if fixedname: self.metainfo['info']['name'] = fixedname self.info = self.metainfo['info'] self.title = None # Initialize values to defaults self.files = TorrentFiles(self) # Setup the destination self.files.setupDest(dest, forceasklocation, caller) if self.files.dest is None: return ######### # Priority "Normal" priorities = [ self.utility.lang.get('highest'), self.utility.lang.get('high'), self.utility.lang.get('normal'), self.utility.lang.get('low'), self.utility.lang.get('lowest') ] currentprio = self.utility.config.Read('defaultpriority', "int") if currentprio < 0: currentprio = 0 elif currentprio >= len(priorities): currentprio = len(priorities) - 1 self.prio = currentprio self.color = {'text': None, 'bgcolor': None} # Done flag self.messages = {"current": "", "log": [], "timer": None} self.checkedonce = False self.totalpeers = "?" self.totalseeds = "?"