createrepo/__init__.py genpkgmetadata.py
[email protected] Thu, 28 Jul 2011 21:04:29 +0000 (UTC)
| Newsgroups | gmane.linux.rpm.metadata |
|---|---|
| Message-ID | <[email protected]> |
createrepo/__init__.py | 25 ++++++++++++++++++------- genpkgmetadata.py | 1 + 2 files changed, 19 insertions(+), 7 deletions(-) New commits: commit b73f374d6ab3c9dd681d9d5dcd8ab2262d73c166 Author: Seth Vidal <[email protected]> Date: Thu Jul 28 17:03:45 2011 -0400 add two private methods to help clean up doFinalMove() and makes the code a little nicer for how it is called from the cli. slightly nicer fix for: https://bugzilla.redhat.com/show_bug.cgi?id=581628 diff --git a/createrepo/__init__.py b/createrepo/__init__.py index 8cce31a..30f7422 100644 --- a/createrepo/__init__.py +++ b/createrepo/__init__.py @@ -1151,14 +1151,11 @@ class MetaDataGenerator: msg += _('Error was %s') % e raise MDError, msg - try: - os.rmdir(output_old_dir) - except OSError, e: - self.errorlog(_('Could not remove old metadata dir: %s') - % self.conf.olddir) - self.errorlog(_('Error was %s') % e) - self.errorlog(_('Please clean up this directory manually.')) + self._cleanup_tmp_repodata_dir() + self._write_out_read_pkgs_list() + + def _write_out_read_pkgs_list(self): # write out the read_pkgs_list file with self.read_pkgs if self.conf.read_pkgs_list: try: @@ -1171,6 +1168,20 @@ class MetaDataGenerator: % self.conf.read_pkgs_list) self.errorlog(_('Error was %s') % e) + def _cleanup_tmp_repodata_dir(self): + output_old_dir = os.path.join(self.conf.outputdir, self.conf.olddir) + output_temp_dir = os.path.join(self.conf.outputdir, self.conf.tempdir) + for dirbase in (self.conf.olddir, self.conf.tempdir): + dirpath = os.path.join(self.conf.outputdir, dirbase) + if os.path.exists(dirpath): + try: + os.rmdir(dirpath) + except OSError, e: + self.errorlog(_('Could not remove temp metadata dir: %s') + % dirbase) + self.errorlog(_('Error was %s') % e) + self.errorlog(_('Please clean up this directory manually.')) + def setup_sqlite_dbs(self, initdb=True): """sets up the sqlite dbs w/table schemas and db_infos""" destdir = os.path.join(self.conf.outputdir, self.conf.tempdir) diff --git a/genpkgmetadata.py b/genpkgmetadata.py index 6c9217a..512420b 100755 --- a/genpkgmetadata.py +++ b/genpkgmetadata.py @@ -242,6 +242,7 @@ def main(args): if mdgen.checkTimeStamps(): if mdgen.conf.verbose: print _('repo is up to date') + mdgen._cleanup_tmp_repodata_dir() sys.exit(0) if conf.profile: