aboutsummaryrefslogtreecommitdiff
path: root/scripts/rpki
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/rpki')
-rw-r--r--scripts/rpki/left_right.py10
-rw-r--r--scripts/rpki/resource_set.py8
2 files changed, 11 insertions, 7 deletions
diff --git a/scripts/rpki/left_right.py b/scripts/rpki/left_right.py
index 069835a3..fd6a17ce 100644
--- a/scripts/rpki/left_right.py
+++ b/scripts/rpki/left_right.py
@@ -417,10 +417,12 @@ class route_origin_elt(data_elt):
roa = None
def sql_fetch_hook(self, db, cur):
- self.ipv4 = rpki.resource_set.resource_set_ipv4()
- self.ipv4.from_sql(cur, "SELECT start_ip, end_ip FROM route_origin_range WHERE route_origin_id = %s AND start_ip NOT LIKE '%:%'", self.route_origin_id)
- self.ipv6 = rpki.resource_set.resource_set_ipv6()
- self.ipv4.from_sql(cur, "SELECT start_ip, end_ip FROM route_origin_range WHERE route_origin_id = %s AND start_ip LIKE '%:%'", self.route_origin_id)
+ self.ipv4 = rpki.resource_set.resource_set_ipv4.from_sql(cur,
+ "SELECT start_ip, end_ip FROM route_origin_range WHERE route_origin_id = %s AND start_ip NOT LIKE '%:%'",
+ self.route_origin_id)
+ self.ipv6 = rpki.resource_set.resource_set_ipv6.from_sql(cur,
+ "SELECT start_ip, end_ip FROM route_origin_range WHERE route_origin_id = %s AND start_ip LIKE '%:%'",
+ self.route_origin_id)
cur.execute("SELECT roa, ca_detail_id FROM roa WHERE route_origin_id = %s", self.route_origin_id)
roas = cur.fetchall()
if len(roas) == 1:
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."""