From 37c89ceee19d1d404e678a9b22e13f8bda6d09c6 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sat, 17 May 2008 06:14:33 +0000 Subject: roa_prefix_set.from_sql() svn path=/rpkid/rpki/resource_set.py; revision=1797 --- rpkid/rpki/resource_set.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py index 26706f40..2b050ad3 100644 --- a/rpkid/rpki/resource_set.py +++ b/rpkid/rpki/resource_set.py @@ -674,6 +674,17 @@ class roa_prefix_set(list): """ return self.resource_set_type([p.to_resource_range() for p in self]) + @classmethod + def from_sql(cls, cur, query, args = None): + """Create ROA prefix set from an SQL query. cur is a DB API 2.0 + cursor object. query is an SQL query that returns a sequence of + (address, prefixlen, max_prefixlen) triples. + """ + + cur.execute(query, args) + return cls([cls.prefix_type(cls.prefix_type.range_type.datum_type(x), int(y), int(z)) + for (x,y,z) in cur.fetchall()]) + class roa_prefix_set_ipv4(roa_prefix_set): """Set of IPv4 ROA prefixes.""" -- cgit v1.2.3