From 54329e768cb4df4054d4756e5b0be1ada1744010 Mon Sep 17 00:00:00 2001 From: Pawel Wieczorek Date: Thu, 16 Jun 2016 13:41:46 +0200 Subject: Add version representation for downloaded images This patch introduces ImageVersion class. It can replace calls to ImageDownloader.extract_nr() and is suitable for both prerelease and snapshot images. Change-Id: If6b32309c1b87d1ad2b7c62ca0246dcb0ff3dc47 --- tsp/scripts/download_image.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'tsp') diff --git a/tsp/scripts/download_image.py b/tsp/scripts/download_image.py index 3e89faa..a8938c1 100755 --- a/tsp/scripts/download_image.py +++ b/tsp/scripts/download_image.py @@ -63,6 +63,38 @@ class Fetcher(object): except (urllib2.HTTPError, urllib2.URLError, urllib2.socket.error) as error: print >> sys.stderr, "ERROR: %s" % error + +class ImageVersion(object): + + def __init__(self, url): + versions = re.findall(r'\d{8}\.\d+', url) + if len(versions) == 3: + if versions[0] != versions[1]: + raise ValueError + self.snapshot = versions[0] + self.submission = versions[2] + elif len(versions) == 1: + self.snapshot = versions[0] + self.submission = None + else: + raise ValueError + + def get_version(self): + if self.submission: + return '.'.join([self.snapshot, self.submission]) + else: + return self.snapshot + + def get_snapshot(self): + return self.snapshot + + def is_prerelease(self): + if self.submission: + return True + else: + return False + + class ImageDownloader: BASE_ARM_WAYLAND = "images/arm-wayland/" BOOT_NAME = "common-boot-armv7l-odroidu3" -- cgit v1.2.3