diff options
author | Michael Elkins <melkins@tislabs.com> | 2012-01-13 21:50:53 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2012-01-13 21:50:53 +0000 |
commit | d610af2370c1f8e4bf41766ffe045b269cc53c45 (patch) | |
tree | 16aa9718cadfb029aef3084d61b1647f3505969d /rpkid/rpki/resource_set.py | |
parent | 66a6246645eb12a4f968087662f42d1dd0417203 (diff) | |
parent | 49f26d19fcb2d9ef41cb1ed24415da16e7b5ecc2 (diff) |
merged with ^/branches/tk100
svn path=/branches/tk161/; revision=4154
Diffstat (limited to 'rpkid/rpki/resource_set.py')
-rw-r--r-- | rpkid/rpki/resource_set.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py index 2fd10756..06b2ebc7 100644 --- a/rpkid/rpki/resource_set.py +++ b/rpkid/rpki/resource_set.py @@ -500,6 +500,18 @@ class resource_set(list): for (b, e) in sql.fetchall()]) @classmethod + def from_django(cls, iterable): + """ + Create resource set from a Django query. + + iterable is something which returns (min, max) pairs. + """ + + return cls(ini = [cls.range_type(cls.range_type.datum_type(b), + cls.range_type.datum_type(e)) + for (b, e) in iterable]) + + @classmethod def parse_str(cls, s): """ Parse resource set from text string (eg, XML attributes). This is @@ -983,6 +995,19 @@ class roa_prefix_set(list): return cls([cls.prefix_type(cls.prefix_type.range_type.datum_type(x), int(y), int(z)) for (x, y, z) in sql.fetchall()]) + @classmethod + def from_django(cls, iterable): + """ + Create ROA prefix set from a Django query. + + iterable is something which returns (prefix, prefixlen, + max_prefixlen) triples. + """ + + return cls([cls.prefix_type(cls.prefix_type.range_type.datum_type(x), int(y), int(z)) + for (x, y, z) in iterable]) + + def to_roa_tuple(self): """ Convert ROA prefix set into tuple format used by ROA ASN.1 |