From 4806f3f1d93a52cf107e0b8eac3a04fcb7f4bf13 Mon Sep 17 00:00:00 2001 From: Aleksander Mistewicz Date: Thu, 23 Jun 2016 17:31:19 +0200 Subject: [PATCH] Use ImageVersion class in download_image.py It replaces ImageDownloader.extract_nr() Change-Id: Ie7f0dd85dff387daf1774dcb067b3245b6ba21cf Signed-off-by: Aleksander Mistewicz --- tsp/scripts/download_image.py | 54 +++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/tsp/scripts/download_image.py b/tsp/scripts/download_image.py index a8938c1..28d1803 100755 --- a/tsp/scripts/download_image.py +++ b/tsp/scripts/download_image.py @@ -26,7 +26,7 @@ import re import urllib2 import argparse -__version__ = "0.1.1" +__version__ = "0.1.2" __license__ = "APACHE-2.0" __author__ = "Aleksander Mistewicz" __author_email__ = "a.mistewicz@samsung.com" @@ -105,16 +105,20 @@ class ImageDownloader: def __init__(self, url): self.url = url - self.snap_nr, self.pre_nr = self.extract_nr() + + img_ver = ImageVersion(url) + self.snap_nr = img_ver.get_snapshot() + self.ver_nr = img_ver.get_version() + self.is_prerelease = img_ver.is_prerelease() odroid_common_boot_prefix = self.url + self.BASE_ARM_WAYLAND + self.BOOT_NAME self.odroid_boot_path = odroid_common_boot_prefix \ - + "/tizen-common_" + self.snap_nr + "." + self.pre_nr + "_" + self.BOOT_NAME + + "/tizen-common_" + self.ver_nr + "_" + self.BOOT_NAME self.odroid_boot_path_md5 = odroid_common_boot_prefix + "/MD5SUMS" odroid_common_usr_prefix = self.url + self.BASE_ARM_WAYLAND + self.USR_NAME self.odroid_usr_path = odroid_common_usr_prefix \ - + "/tizen-common_" + self.snap_nr + "." + self.pre_nr + "_" + self.USR_NAME + + "/tizen-common_" + self.ver_nr + "_" + self.USR_NAME self.odroid_usr_path_md5 = odroid_common_usr_prefix + "/MD5SUMS" self.odroid_snap_pkgs = "http://download.tizen.org/snapshots/tizen/common/tizen-common_" \ + self.snap_nr + "/" + self.BASE_ARM_WAYLAND + self.USR_NAME \ @@ -122,27 +126,22 @@ class ImageDownloader: minnow_common_ia32_prefix = self.url + self.BASE_IA32_WAYLAND + self.IA32_NAME self.minnow_usr_path = minnow_common_ia32_prefix \ - + "/tizen-common_" + self.snap_nr + "." + self.pre_nr + "_" + self.IA32_NAME + + "/tizen-common_" + self.ver_nr + "_" + self.IA32_NAME self.minnow_usr_path_md5 = minnow_common_ia32_prefix + "/MD5SUMS" self.minnow_snap_pkgs = "http://download.tizen.org/snapshots/tizen/common/tizen-common_" \ + self.snap_nr + "/" + self.BASE_IA32_WAYLAND + self.IA32_NAME \ + "/tizen-common_" + self.snap_nr + "_" + self.IA32_NAME + ".packages" - print self.snap_nr, self.pre_nr + print self.snap_nr, self.ver_nr print self.odroid_boot_path print self.odroid_usr_path def create_projectconf(self, filename, arch, target): print "Create project.conf file for: " + arch + ' ' + target - prjconf = [ "tizen-common_" + self.snap_nr + '.' + self.pre_nr, arch, target ] + prjconf = [ "tizen-common_" + self.ver_nr, arch, target ] with open(filename, 'w') as f: f.write('\n'.join(prjconf) + '\n') - def extract_nr(self): - print "Extracting url: " + self.url - nr = re.findall(r'\d{8}\.\d+', self.url) - return nr[0], nr[2] - def fetch_url(self, url): print "Fetching: " + url target = Fetcher(url) @@ -168,6 +167,11 @@ class ImageDownloader: f.write(s) return ret + def write_diff_for_snapshot(self, filename): + print "Write diff for snapshot image" + with open(filename, 'w') as f: + f.write('Snapshot') + def check_md5(self, url): print "Checking md5sum" md5_file = "md5sums" @@ -194,20 +198,30 @@ class ImageDownloader: def odroid(self): print "Downloading images for: odroid" self.create_projectconf("project-odroid.conf", "armv7l", "Odroid U3") - if not self.check_diff("diff-odroid.report", self.fetch_url(self.odroid_usr_path + ".packages"), \ + diff_report_filename="diff-odroid.report" + if not self.is_prerelease: + self.write_diff_for_snapshot(diff_report_filename) + else: + if self.check_diff(diff_report_filename, self.fetch_url(self.odroid_usr_path + ".packages"), \ self.fetch_url(self.odroid_snap_pkgs)): - print "Downloading images..." - self.get([self.odroid_boot_path + ".tar.gz"], self.odroid_boot_path_md5) - self.get([self.odroid_usr_path + ".tar.gz"], self.odroid_usr_path_md5) + return + print "Downloading images..." + self.get([self.odroid_boot_path + ".tar.gz"], self.odroid_boot_path_md5) + self.get([self.odroid_usr_path + ".tar.gz"], self.odroid_usr_path_md5) def minnow(self): print "Downloading images for: minnowboard" self.create_projectconf("project-minnow.conf", "i586/x86_64", "MinnowboardMax") - if not self.check_diff("diff-minnow.report", self.fetch_url(self.minnow_usr_path + ".packages"), \ + diff_report_filename="diff-minnow.report" + if not self.is_prerelease: + self.write_diff_for_snapshot(diff_report_filename) + else: + if self.check_diff(diff_report_filename, self.fetch_url(self.minnow_usr_path + ".packages"), \ self.fetch_url(self.minnow_snap_pkgs)): - print "Downloading images..." - self.get([self.minnow_usr_path + "-sda.raw.bz2", self.minnow_usr_path + "-sda.bmap"], \ - self.minnow_usr_path_md5) + return + print "Downloading images..." + self.get([self.minnow_usr_path + "-sda.raw.bz2", self.minnow_usr_path + "-sda.bmap"], \ + self.minnow_usr_path_md5) def parse_arguments(): """parse_arguments() -> args -- 2.7.4