From b4feaa3416e58ffccc4b79d26e6df5256154d117 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 29 Jan 2010 13:36:11 +0000 Subject: Move the DOM unlink call to a finally block. svn path=/main/trunk/; revision=15216 --- pym/repoman/utilities.py | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) (limited to 'pym') diff --git a/pym/repoman/utilities.py b/pym/repoman/utilities.py index 5ce386737..8a2c0f0c6 100644 --- a/pym/repoman/utilities.py +++ b/pym/repoman/utilities.py @@ -124,28 +124,30 @@ def parse_metadata_use(mylines, uselist=None): raise exception.ParseError("metadata.xml: %s" % (e,)) try: - usetag = metadatadom.getElementsByTagName("use") - if not usetag: + + try: + usetag = metadatadom.getElementsByTagName("use") + if not usetag: + return uselist + except NotFoundErr: return uselist - except NotFoundErr: - return uselist - try: - flags = usetag[0].getElementsByTagName("flag") - except NotFoundErr: - raise exception.ParseError("metadata.xml: " + \ - "Malformed input: missing 'flag' tag(s)") - - for flag in flags: - pkg_flag = flag.getAttribute("name") - if not pkg_flag: + try: + flags = usetag[0].getElementsByTagName("flag") + except NotFoundErr: raise exception.ParseError("metadata.xml: " + \ - "Malformed input: missing 'name' attribute for 'flag' tag") - uselist.append(pkg_flag) - - metadatadom.unlink() - return uselist + "Malformed input: missing 'flag' tag(s)") + + for flag in flags: + pkg_flag = flag.getAttribute("name") + if not pkg_flag: + raise exception.ParseError("metadata.xml: " + \ + "Malformed input: missing 'name' attribute for 'flag' tag") + uselist.append(pkg_flag) + return uselist + finally: + metadatadom.unlink() def FindPackagesToScan(settings, startdir, reposplit): """ Try to find packages that need to be scanned -- cgit v1.2.3-1-g7c22