コード例 #1
0
ファイル: spiderqueue.py プロジェクト: tml/scrapy
class SqliteSpiderQueue(object):

    implements(ISpiderQueue)

    def __init__(self, database=None, table="spider_queue"):
        self.q = JsonSqlitePriorityQueue(database, table)

    @classmethod
    def from_settings(cls, settings):
        return cls(sqlite_db(settings["SQLITE_DB"]))

    def add(self, name, **spider_args):
        d = spider_args.copy()
        d["name"] = name
        priority = float(d.pop("priority", 0))
        self.q.put(d, priority)

    def pop(self):
        return self.q.pop()

    def count(self):
        return len(self.q)

    def list(self):
        return [x[0] for x in self.q]

    def clear(self):
        self.q.clear()
コード例 #2
0
ファイル: spiderqueue.py プロジェクト: richard-ma/CodeReading
class SqliteSpiderQueue(object):

    implements(ISpiderQueue)

    def __init__(self, database=None, table='spider_queue'):
        self.q = JsonSqlitePriorityQueue(database, table)

    @classmethod
    def from_settings(cls, settings):
        return cls(sqlite_db(settings['SQLITE_DB']))

    def add(self, name, **spider_args):
        d = spider_args.copy()
        d['name'] = name
        priority = float(d.pop('priority', 0))
        self.q.put(d, priority)

    def pop(self):
        return self.q.pop()

    def count(self):
        return len(self.q)

    def list(self):
        return [x[0] for x in self.q]

    def clear(self):
        self.q.clear()
コード例 #3
0
ファイル: spiderqueue.py プロジェクト: tml/scrapy
 def __init__(self, database=None, table="spider_queue"):
     self.q = JsonSqlitePriorityQueue(database, table)
コード例 #4
0
ファイル: spiderqueue.py プロジェクト: richard-ma/CodeReading
 def __init__(self, database=None, table='spider_queue'):
     self.q = JsonSqlitePriorityQueue(database, table)