aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/xml_utils.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2010-08-29 03:39:59 +0000
committerRob Austein <sra@hactrn.net>2010-08-29 03:39:59 +0000
commit376316916567bf253a57a909d0cd53d2bd53583d (patch)
treeb76113eb3c4d5dc6dfd13ae401c9e0f1cc4a076e /rpkid/rpki/xml_utils.py
parent64de2f733ac0c0d1ceffe52209ebde2f60cb6f5f (diff)
Break XML packet dumps into multiple lines when logging schema
validation errors. svn path=/rpkid/rpki/publication.py; revision=3431
Diffstat (limited to 'rpkid/rpki/xml_utils.py')
-rw-r--r--rpkid/rpki/xml_utils.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/rpkid/rpki/xml_utils.py b/rpkid/rpki/xml_utils.py
index 274eeea0..4933cda9 100644
--- a/rpkid/rpki/xml_utils.py
+++ b/rpkid/rpki/xml_utils.py
@@ -189,14 +189,12 @@ class base_elt(object):
elt.set(key, "yes")
return elt
- def make_b64elt(self, elt, name, value = None):
+ def make_b64elt(self, elt, name, value):
"""
Constructor for Base64-encoded subelement.
"""
- if value is None:
- value = getattr(self, name, None)
- if value is not None:
- lxml.etree.SubElement(elt, "{%s}%s" % (self.xmlns, name), nsmap = self.nsmap).text = base64.b64encode(value)
+ if value is not None and not value.empty():
+ lxml.etree.SubElement(elt, "{%s}%s" % (self.xmlns, name), nsmap = self.nsmap).text = value.get_Base64()
def __str__(self):
"""
@@ -267,9 +265,7 @@ class data_elt(base_elt):
"""
elt = self.make_elt()
for i in self.elements:
- x = getattr(self, i, None)
- if x and not x.empty():
- self.make_b64elt(elt, i, x.get_DER())
+ self.make_b64elt(elt, i, getattr(self, i, None))
return elt
def make_reply(self, r_pdu = None):