Example #1
0
    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
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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
Example #5
0
    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)
Example #7
0
    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