From: Liu jue Date: Fri, 25 Jul 2014 07:42:42 +0000 (+0800) Subject: Job syncsnapdiff use hard code to search last buildid X-Git-Tag: 1.0~97 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=00a856574e03accd4476645604f0c3df3b6f2e19;p=services%2Fjenkins-scripts.git Job syncsnapdiff use hard code to search last buildid 1.Add exception log 2.Use release name instead of the hard code for searching last build id Fixes #2054 Change-Id: Iaec84cc6e706b6465c1a1998548b183543095f7a --- diff --git a/job_sync_snapdiff.py b/job_sync_snapdiff.py index 90c3b00..48d51df 100755 --- a/job_sync_snapdiff.py +++ b/job_sync_snapdiff.py @@ -23,7 +23,7 @@ from common.buildtrigger import trigger_info from common.utils import sync -def search_last_build(build_url, released=False): +def search_last_build(build_url, release_name, released=False): """Search the lastest build in build_url. :param build_url: build url contains builds. @@ -32,9 +32,11 @@ def search_last_build(build_url, released=False): """ res = requests.get(build_url) if res.status_code != 200: + print 'access build_url: %s , error: %s' %(build_url, res.status_code) return soup = bs4.BeautifulSoup(res.text) - pattern = re.compile('^tizen_[0-9]{8}.[0-9]+/$') + pattern_re = '^%s_[0-9]{8}.[0-9]+/$' % release_name + pattern = re.compile(pattern_re) builds = [i.text for i in soup.find_all(href=pattern)] if not builds: print "Not find the any snapshot in %s, skip" % build_url @@ -49,7 +51,7 @@ def search_last_build(build_url, released=False): return os.path.join(build_url, last_build) if last_build else None -def get_last_build(url_pub_base, repo_path): +def get_last_build(url_pub_base, repo_path, release_name): """Return the second lastest build. :param url_pub_base: the public base url. @@ -57,7 +59,7 @@ def get_last_build(url_pub_base, repo_path): :return: path. the second lastest build url. """ last_build_url = os.path.join(url_pub_base, repo_path[:repo_path.rfind('/')]) - return search_last_build(last_build_url) + return search_last_build(last_build_url, release_name) def get_released_build(release_base, repo_path): """Return the lastest released build. @@ -126,6 +128,9 @@ def main(): url_pub_base = content[0]['url_pub_base'] repo_path = content[0]['repo_path'] + build_id = content[0]['buildid'] + release_name, release_id = re.search(r'(\S*)_(\d{8}\.\d*)', \ + build_id).groups() diff_root = os.path.join(url_pub_base, repo_path) current_repo_url = os.path.join(diff_root, 'repos', repo_name, 'packages') @@ -134,7 +139,7 @@ def main(): context['repo'] = [] # generate current and last repo diff - last_repo_base = get_last_build(url_pub_base, repo_path) + last_repo_base = get_last_build(url_pub_base, repo_path, release_name) if last_repo_base: last_repo_url = os.path.join(last_repo_base, 'repos', repo_name, 'packages')