diff options
Diffstat (limited to 'rpkid/rpki/rcynic.py')
-rw-r--r-- | rpkid/rpki/rcynic.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/rpkid/rpki/rcynic.py b/rpkid/rpki/rcynic.py index 2f6ffe12..0d258542 100644 --- a/rpkid/rpki/rcynic.py +++ b/rpkid/rpki/rcynic.py @@ -238,6 +238,16 @@ class rcynic_xml_iterator(object): if ext in file_name_classes: yield file_name_classes[ext](filename = filename, uri = uri, ok = ok, status = status, timestamp = timestamp) +def label_iterator(xml_file): + """ + Returns an iterator which contains all defined labels from an rcynic XML + output file. Each item is a tuple of the form + (label, kind, description). + """ + + for label in ElementTree(file=xml_file).find("labels"): + yield label.tag, label.get("kind"), label.text.strip() + if __name__ == "__main__": if False: for i in rcynic_file_iterator("/u/sra/rpki/subvert-rpki.hactrn.net/rcynic/rcynic-data"): |