[yum-commits] 2 commits - plugins/keys reposync.py
James Antill
james at osuosl.org
Wed Nov 12 15:38:33 UTC 2008
plugins/keys/keys.py | 1 +
reposync.py | 26 ++++++++++++++++++++++----
2 files changed, 23 insertions(+), 4 deletions(-)
New commits:
commit c917519bc081c5ac6930b9f58ddd032bde672399
Author: James Antill <james at and.org>
Date: Wed Nov 12 10:35:25 2008 -0500
Setup the default repos. so we list the repo. keys
diff --git a/plugins/keys/keys.py b/plugins/keys/keys.py
index e18822b..e964719 100644
--- a/plugins/keys/keys.py
+++ b/plugins/keys/keys.py
@@ -136,6 +136,7 @@ class KeysListCommand:
keys.append(Key(keyid, createts, sum_type, sum_auth, data))
if gpgme is not None:
+ base.repos.doSetup() # Without this repo.cachedir is empty *sigh*
for repo in base.repos.listEnabled():
gpgdir = '%s/gpgdir' % repo.cachedir
if not os.path.exists(gpgdir):
commit a95ed80a54eb49edd9d0e99647da08955f57d678
Author: James Antill <james at and.org>
Date: Wed Nov 12 10:35:16 2008 -0500
Add total download percentage like "normal" yum download
diff --git a/reposync.py b/reposync.py
index 421e61f..6ba38cf 100755
--- a/reposync.py
+++ b/reposync.py
@@ -46,6 +46,7 @@ from yum.packageSack import ListPackageSack
import rpmUtils.arch
import logging
from urlgrabber.progress import TextMeter
+import urlgrabber
# for yum 2.4.X compat
def sortPkgObj(pkg1 ,pkg2):
@@ -231,6 +232,20 @@ def main():
if not opts.quiet:
my.logger.error("Unable to fetch metadata: %s" % e)
+ remote_size = 0
+ local_size = 0
+ if not opts.urls:
+ for pkg in download_list:
+ remote = pkg.returnSimple('relativepath')
+ local = local_repo_path + '/' + remote
+ sz = int(pkg.returnSimple('packagesize'))
+ if os.path.exists(local) and os.path.getsize(local) == sz:
+ continue
+ remote_size += sz
+
+ if hasattr(urlgrabber.progress, 'text_meter_total_size'):
+ urlgrabber.progress.text_meter_total_size(remote_size)
+
download_list.sort(sortPkgObj)
n = 0
for pkg in download_list:
@@ -242,9 +257,8 @@ def main():
if not os.path.exists(localdir):
os.makedirs(localdir)
- if (os.path.exists(local) and
- os.path.getsize(local) == int(pkg.returnSimple('packagesize'))):
-
+ sz = int(pkg.returnSimple('packagesize'))
+ if os.path.exists(local) and os.path.getsize(local) == sz:
if not opts.quiet:
my.logger.error("[%s: %-5d of %-5d ] Skipping existing %s" % (repo.id, n, len(download_list), remote))
@@ -278,8 +292,12 @@ def main():
path = repo.getPackage(pkg)
except yum.Errors.RepoError, e:
my.logger.error("Could not retrieve package %s. Error was %s" % (pkg, str(e)))
+ local_size += sz
continue
-
+
+ local_size += sz
+ if hasattr(urlgrabber.progress, 'text_meter_total_size'):
+ urlgrabber.progress.text_meter_total_size(remote_size, local_size)
if opts.gpgcheck:
result, error = my.sigCheckPkg(pkg)
if result != 0:
More information about the Yum-commits
mailing list