diff options
-rwxr-xr-x | koji-bisect.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/koji-bisect.py b/koji-bisect.py index 99ca318..2f79891 100755 --- a/koji-bisect.py +++ b/koji-bisect.py @@ -10,6 +10,7 @@ from functools import cmp_to_key import cPickle import urlgrabber.grabber as grabber import urlgrabber.progress as progress +import shutil class Options: debug = True @@ -117,7 +118,7 @@ def activate_session(session): print "successfully connected to hub" # This is copied almost directly from koji. Sigh again. -def download_build(session, build): +def download_build(session, build, arch): activate_session(session) info = session.getBuild(build) @@ -126,7 +127,7 @@ def download_build(session, build): print "Email Josh because he messed up somewhere." sys.exit(1) - rpms = session.listRPMs(buildID=info['id'], arches='x86_64') + rpms = session.listRPMs(buildID=info['id'], arches=arch) if not rpms: print "No packages available for %s" % koji.buildLabel(info) sys.exit(1) @@ -139,7 +140,7 @@ def download_build(session, build): fname = koji.pathinfo.rpm(rpm) url = '%s/%s/%s/%s/%s' % (options.pkgurl, info['name'], info['version'], info['release'], fname) - urls.append((url, os.path.basename(fname))) + urls.append((url, 'downloads/%s/%s' % (build,os.path.basename(fname)))) pg = progress.TextMeter() @@ -287,6 +288,8 @@ if __name__ == "__main__": os.remove('.koji-bisect.data') except: pass + # remove any existing downloads + shutil.rmtree('downloads', ignore_errors=True) sys.exit(0) bisect_data = bisect_load() @@ -369,7 +372,8 @@ if __name__ == "__main__": bisect_data['builds_left'] = builds_left bisect_data['current'] = builds_left[len(builds_left)/2] - download_build(session, builds_left[len(builds_left)/2]) + os.makedirs('downloads/%s' % bisect_data['current']) + download_build(session, builds_left[len(builds_left)/2], 'x86_64') bisect_save(bisect_data) |