def parse_allowed(self): self.rawserver.add_task(self.parse_allowed, self.parse_dir_interval) # logging broken .torrent files would be useful but could confuse # programs parsing log files, so errors are just ignored for now def ignore(message): pass r = parsedir( self.allowed_dir, self.allowed, self.allowed_dir_files, self.allowed_dir_blocked, ignore, include_metainfo=False, ) (self.allowed, self.allowed_dir_files, self.allowed_dir_blocked, added, garbage2) = r for infohash in added: self.downloads.setdefault(infohash, {}) self.completed.setdefault(infohash, 0) self.seedcount.setdefault(infohash, 0) self.state["allowed"] = self.allowed self.state["allowed_dir_files"] = self.allowed_dir_files
def scan(self): self.rawserver.add_task(self.scan, self.config["parse_dir_interval"]) r = parsedir(self.torrent_dir, self.torrent_cache, self.file_cache, self.blocked_files, self.output.message) (self.torrent_cache, self.file_cache, self.blocked_files, added, removed) = r for infohash, data in removed.items(): self.output.message('dropped "' + data["path"] + '"') self.remove(infohash) for infohash, data in added.items(): self.output.message('added "' + data["path"] + '"') self.add(infohash, data)
def scan(self): self.rawserver.add_task(self.scan, self.config['parse_dir_interval']) r = parsedir(self.torrent_dir, self.torrent_cache, self.file_cache, self.blocked_files, self.output.message) (self.torrent_cache, self.file_cache, self.blocked_files, added, removed) = r for infohash, data in removed.items(): self.output.message('dropped "' + data['path'] + '"') self.remove(infohash) for infohash, data in added.items(): self.output.message('added "' + data['path'] + '"') self.add(infohash, data)
def _parse_allowed(self): def errfunc(message, exc_info=None): # logging broken .torrent files would be useful but could confuse # programs parsing log files m = "parse_dir: %s" % message if exc_info: self._print_exc(m, exc_info) else: self._print_event(m) pass r = parsedir(self.allowed_dir, self.allowed, self.allowed_dir_files, self.allowed_dir_blocked, errfunc, include_metainfo = False) # register the call to parse a dir. self.rawserver.external_add_task(self.parse_dir_interval, self.parse_allowed) return r
def scan(self): self.rawserver.add_task(self.scan, self.config['parse_dir_interval']) r = parsedir(self.torrent_dir, self.torrent_cache, self.file_cache, self.blocked_files, self.output.message) ( self.torrent_cache, self.file_cache, self.blocked_files, added, removed ) = r for infohash, data in removed.items(): self.output.message(_('dropped "%s"') % data['path']) self.remove(infohash) for infohash, data in added.items(): self.output.message(_('added "%s"' ) % data['path']) if self.config['launch_delay'] > 0: self.rawserver.add_task(self.add, self.config['launch_delay'], (infohash, data)) else: self.add(infohash, data)
def scan(self): self.rawserver.add_task(self.config['parse_dir_interval'], self.scan) r = parsedir(self.torrent_dir, self.torrent_cache, self.file_cache, self.blocked_files, self.logger.error) ( self.torrent_cache, self.file_cache, self.blocked_files, added, removed ) = r for infohash, (path, metainfo) in removed.items(): self.logger.info(_('dropped "%s"') % path) self.remove(infohash) for infohash, (path, metainfo) in added.items(): self.logger.info(_('added "%s"' ) % path) if self.config['launch_delay'] > 0: self.rawserver.add_task(self.config['launch_delay'], self.add, metainfo) # torrent may have been known from resume state. else: self.add(metainfo)
def parse_allowed(self): self.rawserver.add_task(self.parse_allowed, self.parse_dir_interval) # logging broken .torrent files would be useful but could confuse # programs parsing log files, so errors are just ignored for now def ignore(message): pass r = parsedir(self.allowed_dir, self.allowed, self.allowed_dir_files, self.allowed_dir_blocked, ignore, include_metainfo=False) (self.allowed, self.allowed_dir_files, self.allowed_dir_blocked, added, garbage2) = r for infohash in added: self.downloads.setdefault(infohash, {}) self.completed.setdefault(infohash, 0) self.seedcount.setdefault(infohash, 0) self.state['allowed'] = self.allowed self.state['allowed_dir_files'] = self.allowed_dir_files