From 7443aed52801116fb81f45bd4297f08731376e32 Mon Sep 17 00:00:00 2001 From: Paul Nasrat Date: Wed, 19 Jul 2006 12:29:47 +0000 Subject: [PATCH] =?utf8?q?Tolerate=20unknown=20files=20in=20repodata=20dir?= =?utf8?q?s=20-=20Ville=20Skytt=C3=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- genpkgmetadata.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/genpkgmetadata.py b/genpkgmetadata.py index d4e612d..c58d6b3 100755 --- a/genpkgmetadata.py +++ b/genpkgmetadata.py @@ -27,6 +27,7 @@ import rpm import libxml2 import string import fnmatch +import shutil import dumpMetadata from dumpMetadata import _gzipOpen @@ -552,6 +553,31 @@ def main(args): errorprint(_('Error was %s') % e) sys.exit(1) + # Move everything else back from olddir (eg. repoview files) + olddir = os.path.join(cmds['outputdir'], cmds['olddir']) + finaldir = os.path.join(cmds['outputdir'], cmds['finaldir']) + for file in os.listdir(olddir): + oldfile = os.path.join(olddir, file) + finalfile = os.path.join(finaldir, file) + if os.path.exists(finalfile): + # Hmph? Just leave it alone, then. + try: + if os.path.isdir(oldfile): + shutil.rmtree(oldfile) + else: + os.remove(oldfile) + except OSError, e: + errorprint(_('Could not remove old non-metadata file: %s') % oldfile) + errorprint(_('Error was %s') % e) + sys.exit(1) + else: + try: + os.rename(oldfile, finalfile) + except OSError, e: + errorprint(_('Could not restore old non-metadata file: %s -> %s') % (oldfile, finalfile)) + errorprint(_('Error was %s') % e) + sys.exit(1) + #XXX: fix to remove tree as we mung basedir try: os.rmdir(os.path.join(cmds['outputdir'], cmds['olddir'])) -- 2.34.1