diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-01-29 18:52:36 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-01-29 18:52:36 +0000 |
commit | 83a45c04f4e9cc56b9a3847bd48ad9218547f8b1 (patch) | |
tree | 1f615977772cefb097149e7126c7cb4d9c78525a | |
parent | 8064fa121fce17426a4fca457206db721d7ad7d6 (diff) | |
download | portage-83a45c04f4e9cc56b9a3847bd48ad9218547f8b1.tar.gz portage-83a45c04f4e9cc56b9a3847bd48ad9218547f8b1.tar.bz2 portage-83a45c04f4e9cc56b9a3847bd48ad9218547f8b1.zip |
Move the DOM unlink call to a finally block. (trunk r15216)
svn path=/main/branches/2.1.7/; revision=15266
-rw-r--r-- | pym/repoman/utilities.py | 38 |
1 files changed, 20 insertions, 18 deletions
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 |