From e54b9b8fc5197c32d02cfab7a17e30effe3b20df Mon Sep 17 00:00:00 2001 From: Aleksander Mistewicz Date: Fri, 4 Nov 2016 11:05:36 +0100 Subject: [PATCH] Add --map argument to tsp/scripts/download_all.py Add tsp/image_map.example Change-Id: Ic35154314076253696e20972835adb0e4d97a48b Signed-off-by: Aleksander Mistewicz --- tsp/image_map.example | 10 ++++++++++ tsp/scripts/download_all.py | 31 +++++++++++++++++++++++++------ 2 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 tsp/image_map.example diff --git a/tsp/image_map.example b/tsp/image_map.example new file mode 100644 index 0000000..1c81982 --- /dev/null +++ b/tsp/image_map.example @@ -0,0 +1,10 @@ +boot-armv7l-odroidu3 +wayland-3parts-armv7l-odroidu3 +boot-armv7l-artik5 +boot-armv7l-artik10 +headless-3parts-armv7l-artik +wayland-3parts-armv7l-artik +emulator-wayland-mbr-i586 +wayland-efi-i586 +wayland-efi-x86_64 +minimal-mbr-x86_64 diff --git a/tsp/scripts/download_all.py b/tsp/scripts/download_all.py index 82c06f2..feb0656 100755 --- a/tsp/scripts/download_all.py +++ b/tsp/scripts/download_all.py @@ -238,9 +238,10 @@ class Downloader(threading.Thread): class ImageDownloader(object): - def __init__(self, url, dry): + def __init__(self, url, dry, mapping=None): self.url = url self.dry = dry + self.mapping = mapping self.img_ver = ImageVersion(url) self.diff_report_filename = "diff.report" @@ -270,10 +271,25 @@ class ImageDownloader(object): work = threading.Event() work.set() signal.signal(signal.SIGINT, handler) - for url in self.urls: - dwn = Downloader(work, self.img_ver, s, url) - dwn.start() - downloaders.add(dwn) + + if self.mapping: + with open(self.mapping, 'r') as f: + mapped = f.read().splitlines() + logging.debug(mapped) + + for url in self.urls: + for image in mapped: + if image in url: + dwn = Downloader(work, self.img_ver, s, url) + dwn.start() + downloaders.add(dwn) + break + else: + for url in self.urls: + dwn = Downloader(work, self.img_ver, s, url) + dwn.start() + downloaders.add(dwn) + for dwn in downloaders: dwn.join() @@ -292,6 +308,9 @@ def parse_arguments(): parser.add_argument("url", metavar='', type=str, help='URL of prerelease or snapshot to download images from.') + parser.add_argument("-m", "--map", type=str, + help='Path to file with list of images to download') + parser.add_argument("-d", "--dry-run", action="store_true", dest="dry", help="Dry run - do not actually download images") @@ -312,7 +331,7 @@ def main(): raise ValueError('Invalid log level: %s' % args.loglevel) logging.basicConfig(format='%(asctime)s %(message)s',level=numeric_level) logging.debug("Begin") - ImageDownloader(args.url, args.dry) + ImageDownloader(args.url, args.dry, mapping=args.map) logging.debug("End") if __name__ == '__main__': -- 2.7.4