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"
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 \
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)
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"
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