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.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)