diff options
author | Rob Austein <sra@hactrn.net> | 2007-10-01 22:56:39 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-10-01 22:56:39 +0000 |
commit | a6748e3876136dc252061a09e16c828eb45c1842 (patch) | |
tree | 20b4646a2caa982e9c69894d8d5c5c178e06ddf2 /scripts/rpki/resource_set.py | |
parent | 20f735ac7884111b47bd8ba974ed3e8fd1242e89 (diff) |
Make rpki.resource_set.resource_set.from_sql() into a class method.
Rework IRDB code.
svn path=/docs/rpki-db-schema.pdf; revision=1068
Diffstat (limited to 'scripts/rpki/resource_set.py')
-rw-r--r-- | scripts/rpki/resource_set.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/scripts/rpki/resource_set.py b/scripts/rpki/resource_set.py index 45fa096e..b0de948b 100644 --- a/scripts/rpki/resource_set.py +++ b/scripts/rpki/resource_set.py @@ -208,15 +208,17 @@ class resource_set(list): assert isinstance(item, (type(i), type(i.min))) return False - def from_sql(self, cursor, query): - """Populate resource set from an SQL query. + @classmethod + def from_sql(cls, cursor, query): + """Create resource set from an SQL query. cursor is a DB API 2.0 cursor object. query is an SQL query that returns a sequence of (min, max) pairs. """ + cursor.execute(query) - self[:] = [self.range_type(b, e) for (b,e) in cursor.fetchall()] + return cls(ini = [cls.range_type(b, e) for (b,e) in cursor.fetchall()]) class resource_set_as(resource_set): """ASN resource set.""" |