aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'layman/overlays/overlay.py')
-rwxr-xr-xlayman/overlays/overlay.py49
1 files changed, 26 insertions, 23 deletions
diff --git a/layman/overlays/overlay.py b/layman/overlays/overlay.py
index 8052d4c..9cbeb99 100755
--- a/layman/overlays/overlay.py
+++ b/layman/overlays/overlay.py
@@ -454,32 +454,35 @@ class Overlay(object):
_owners = xml.findall('owner')
self.owners = []
- for _owner in _owners:
- owner = {}
+ # For backwards compatibility with older Overlay XML formats
+ # default to this.
+ if 'contact' in xml.attrib:
+ owner = {'email': encode(xml.attrib['contact']),
+ 'name': None}
+ self.owners.append(owner)
+ else:
+ for _owner in _owners:
+ owner = {}
- _email = _owner.find('email')
- _name = _owner.find('name')
+ _email = _owner.find('email')
+ _name = _owner.find('name')
- if _name != None:
- owner['name'] = encode(strip_text(_name))
- else:
- owner['name'] = None
- if _email != None:
- owner['email'] = encode(strip_text(_email))
- else:
- owner['email'] = None
- msg = 'Overlay from_xml(), "%(name)s" is missing an '\
- '"owner.email" entry!' % {'name': self.name}
- if not ignore:
- raise Exception(msg)
- elif ignore == 1:
- self.output.warn(msg, 4)
+ if _name != None:
+ owner['name'] = encode(strip_text(_name))
+ else:
+ owner['name'] = None
+ if _email != None:
+ owner['email'] = encode(strip_text(_email))
+ else:
+ owner['email'] = None
+ msg = 'Overlay from_xml(), "%(name)s" is missing an '\
+ '"owner.email" entry!' % {'name': self.name}
+ if not ignore:
+ raise Exception(msg)
+ elif ignore == 1:
+ self.output.warn(msg, 4)
- # For backwards compatibility with older Overlay XML formats.
- if not _email and not _name and 'contact' in xml.attrib:
- owner['email'] = encode(xml.attrib['contact'])
- owner['name'] = None
- self.owners.append(owner)
+ self.owners.append(owner)
_desc = xml.findall('description')
if _desc != None: