From a83932f2c118c79033f83a7b489bc72bcef6cc75 Mon Sep 17 00:00:00 2001 From: Xu Chang Date: Tue, 3 Feb 2015 18:05:42 +0800 Subject: [PATCH] Pylinted jenkins-scripts Fixes: #1855 Change-Id: I94114571322aed43bdfa083c1bc13a290e55974d --- common/backenddb.py | 2 +- common/builddata.py | 7 ++-- common/buildservice.py | 46 +++++++++++++----------- common/buildtrigger.py | 2 +- common/gerrit.py | 8 ++--- common/git.py | 12 ++++--- common/imagedata.py | 5 ++- common/iris_rest_client.py | 8 +++-- common/obspkg.py | 21 ----------- common/prerelease.py | 2 +- common/repomaker.py | 14 ++++---- common/send_mail.py | 16 ++++----- common/snapshot.py | 3 ++ common/tempbuildpkg.py | 4 +-- common/utils.py | 12 ++++--- job_create_snapshot.py | 2 +- job_mail_sender.py | 2 +- job_monitor_scm_meta_git.py | 2 +- job_post_image.py | 4 +-- job_pre_release_obs.py | 11 +++--- job_re.py | 7 ++-- job_release_snapshot.py | 12 +++---- job_request.py | 9 +++-- job_rpm_buildlogs.py | 13 ++----- job_submit.py | 3 +- job_submitobs.py | 19 +++++----- job_sync_snapdiff.py | 88 ++++++++++++++++++++++++++++++--------------- obs_requests/mailer.py | 4 +-- tests/test_builddata.py | 4 ++- tests/test_gbpgit.py | 16 +++++---- 30 files changed, 189 insertions(+), 169 deletions(-) diff --git a/common/backenddb.py b/common/backenddb.py index 6e3ad85..049e51e 100644 --- a/common/backenddb.py +++ b/common/backenddb.py @@ -154,7 +154,7 @@ class BackendDB(): the rest is the same as for repos as it's implemented in Entity API """ - def __init__(self, host = 'localhost', port = 6379): + def __init__(self, host='localhost', port=6379): try: self._redis = redis.Redis(host=host, port=port) # try to do a simple query to confirm connection diff --git a/common/builddata.py b/common/builddata.py index dd49c80..0594e6b 100644 --- a/common/builddata.py +++ b/common/builddata.py @@ -32,7 +32,7 @@ class BuildData(object): """Class for handling build data.""" # fixing of buggy xml.dom.minidom.toprettyxml - XMLTEXT_RE = re.compile('>\n\s+([^<>\s].*?)\n\s+\n\s+([^<>\s].*?)\n\s+' # repos + # pylint: disable=W0612 + # disable unused variable for rtype, rarch, rpath in target["repos"]: if rtype == 'noarch': rtype = 'binary' @@ -132,12 +134,13 @@ class BuildData(object): content += target_repo_line content += '' + # pylint: enable=W0612 content += '' # make it human readable if hreadable: dom = minidom.parseString(content) - content = self.XMLTEXT_RE.sub('>\g<1>\g<1>\n\s+([^<>\s].*?)\n\s+\n\s+([^<>\s].*?)\n\s+\g<1>\g<1> 1: - print("Can't decide which changelog file to use.") + print "Can't decide which changelog file to use." elif len(changes) == 1: return changes[0] @@ -122,7 +122,7 @@ def sync(source, destination, remove=True): cmd = "rsync -av --delay-updates %s/ %s" % (source, destination) try: - ret_code = subprocess.call(cmd, shell = True) + ret_code = subprocess.call(cmd, shell=True) except OSError as err: raise RuntimeException("Execution of %s failed: %s" % (cmd, str(err))) @@ -133,7 +133,7 @@ def sync(source, destination, remove=True): cmd = "scp -r %s/* %s" % (source, destination) try: - ret_code = subprocess.call(cmd, shell = True) + ret_code = subprocess.call(cmd, shell=True) except OSError as err: raise RuntimeException("Execution of %s failed: %s" % (cmd, str(err))) @@ -182,7 +182,8 @@ def xml_to_obj(xml_f): id:[u'1.0', u'test'], repo:[u'repos/atom/packages', {type:u'source'}, {type:u'debug', data:u'repos/atom/debug'}]} - stack = [(node, node.children, [node.children.data]),(node, node.children, [])....] + stack = [(node, node.children, [node.children.data]), + (node, node.children, [])....] """ node_char = re.compile('[^_0-9a-zA-Z]') def _name_regular(name): @@ -260,9 +261,12 @@ def xml_to_obj(xml_f): xml_node = cur_node.text tag = cur_node.tag # remove namespaces of node.tag + # pylint: disable=W0612 + # disable unused variable if tag[0] == '{': url, tag = tag[1:].split('}') stack.pop() + # pylint: enable=W0612 if not stack: return xml_node diff --git a/job_create_snapshot.py b/job_create_snapshot.py index 75ec2d6..869779b 100755 --- a/job_create_snapshot.py +++ b/job_create_snapshot.py @@ -125,7 +125,7 @@ def make_repo(project, backenddb, base_path, live_repo_base): try: repomaker.add_repo(live_repo_path, repo['Name'], repo['Architectures'], - buildconf = buildconf, move=False) + buildconf=buildconf, move=False) except RepoMakerError, err: raise LocalError("Unable to create download repo: %s" % err) diff --git a/job_mail_sender.py b/job_mail_sender.py index f3f1adf..93c377c 100755 --- a/job_mail_sender.py +++ b/job_mail_sender.py @@ -45,7 +45,7 @@ def main(): "or 'SMTP_SERVER' are not set" return 1 try: - sendmail(fromaddr, toaddr.split(','), msg, smtp_server) + sendmail(fromaddr, toaddr.split(','), msg, smtp_server) except MailError, err: print 'Email from %s to %s' % (fromaddr, toaddr.split(',')) print err diff --git a/job_monitor_scm_meta_git.py b/job_monitor_scm_meta_git.py index 9f667e0..daf1a70 100755 --- a/job_monitor_scm_meta_git.py +++ b/job_monitor_scm_meta_git.py @@ -33,7 +33,7 @@ reload(sys) sys.setdefaultencoding('utf-8') # pylint: disable-msg=E1101 USERNAME = os.getenv('IRIS_USERNAME') -PASSWORD = base64.b64decode(os.getenv('IRIS_PASSWORDX','')) +PASSWORD = base64.b64decode(os.getenv('IRIS_PASSWORDX', '')) SERVER = os.getenv('IRIS_SERVER') GERRIT_PROJECT = os.getenv('GERRIT_PROJECT') OBS_API_USERNAME = os.getenv('OBS_API_USERNAME') diff --git a/job_post_image.py b/job_post_image.py index bde4f6c..bdc5c7f 100755 --- a/job_post_image.py +++ b/job_post_image.py @@ -45,7 +45,7 @@ def main(): rest = IrisRestClient( os.getenv("IRIS_SERVER"), os.getenv("IRIS_USERNAME"), - base64.b64decode(os.getenv('IRIS_PASSWORDX',''))) + base64.b64decode(os.getenv('IRIS_PASSWORDX', ''))) rest.publish_event("image_created", { "project": project, "status": status, @@ -64,6 +64,6 @@ def main(): } build.update_info(info, project) - + if __name__ == "__main__": sys.exit(main()) diff --git a/job_pre_release_obs.py b/job_pre_release_obs.py index 5b6a862..12444cd 100755 --- a/job_pre_release_obs.py +++ b/job_pre_release_obs.py @@ -31,8 +31,7 @@ from common.buildtrigger import trigger_info, trigger_next from common.buildservice import BuildService from common.repomaker import find_files, RepoMaker, RepoMakerError from common.backenddb import BackendDB -from common.prerelease import get_prerelease_project_name -from common.prerelease import get_info_from_prerelease_project_name +from common.prerelease import get_info_from_prerelease_name from common.snapshot import Snapshot, SnapshotError from common.iris_rest_client import IrisRestClient @@ -106,7 +105,7 @@ def trigger_image_creation(images_ks, build_id, path_repo, rest = IrisRestClient( os.getenv("IRIS_SERVER"), os.getenv("IRIS_USERNAME"), - base64.b64decode(os.getenv('IRIS_PASSWORDX',''))) + base64.b64decode(os.getenv('IRIS_PASSWORDX', ''))) rest.publish_event("image_building", { "project": project, "repo": repo_name, @@ -116,7 +115,7 @@ def trigger_image_creation(images_ks, build_id, path_repo, repo_name, index), data) def make_repo(project, repo, backenddb, base_url, base_path, - live_repo_base, build): + live_repo_base, build): """ make repo. @@ -129,7 +128,7 @@ def make_repo(project, repo, backenddb, base_url, base_path, """ # Make build id from latest snapshot + project suffix - target_project, tstamp = get_info_from_prerelease_project_name(project) + target_project, tstamp = get_info_from_prerelease_name(project) try: snapshot = Snapshot(backenddb, base_path, obs_project=target_project) @@ -229,7 +228,7 @@ def project_cleanup(backenddb, build, base_path, base_url, event_dict): try: target_project, time_stamp = \ - get_info_from_prerelease_project_name(prerelease_project_name) + get_info_from_prerelease_name(prerelease_project_name) except ValueError: print "Can not get prerelease project info from project name," \ "take no action to %s" % prerelease_project_name diff --git a/job_re.py b/job_re.py index e4c7dbf..ab9baa5 100755 --- a/job_re.py +++ b/job_re.py @@ -102,9 +102,9 @@ def main(): if submission and comment: if action in ("accept", "reject"): state = "accepted" if action == "accept" else "declined" + print "Submission %s has been %sed" % (submission, action) return accept_or_reject(build, submission, state, target_project, comment) - print "Submission %s has been %sed" % (submission, action) elif action == "rebuild": prj, meta = get_project_by_name(build, submission, target_project) packages = [os.path.basename(path) for path in meta['projects']] @@ -136,9 +136,12 @@ def main(): if __name__ == '__main__': try: reload(sys) + # pylint: disable=E1101 + # reload(sys) fix: Module 'sys' has no 'setdefaultencoding' member sys.setdefaultencoding('utf-8') + # pylint: enable=E1101 sys.exit(main()) except LocalError, err: - print >>sys.stderr, "Error: %s" % str(err) + print >> sys.stderr, "Error: %s" % str(err) sys.exit(1) diff --git a/job_release_snapshot.py b/job_release_snapshot.py index ce34424..e7a826c 100755 --- a/job_release_snapshot.py +++ b/job_release_snapshot.py @@ -36,9 +36,9 @@ def main(): path_repo_base = os.getenv('PATH_REPO_BASE') - release_type = os.getenv('release_type'); - release_profile = os.getenv('profile'); - release_id = os.getenv('release_id'); + release_type = os.getenv('release_type') + release_profile = os.getenv('profile') + release_id = os.getenv('release_id') # only supports the snapshot repo created by Jenkins backend = BackendDB(os.getenv('REDIS_HOST'), @@ -46,7 +46,7 @@ def main(): repos = backend.get_repos() if release_profile not in repos: - print("Internal error, the profile %s doesn't exists" %release_profile) + print "Internal error, the profile %s doesn't exists" % release_profile return -1 profile_info = repos[release_profile] @@ -72,11 +72,11 @@ def main(): .replace('snapshots', release_dir) # exists, it will be replaced if os.path.exists(path_release_snapshot): - print("The repo %s already exists, deleted and sync again" %release_id) + print "The repo %s already exists, deleted and sync again" % release_id shutil.rmtree(path_release_snapshot) # sync snapshot to release - sync(path_repo_snapshot, path_release_snapshot, remove = False) + sync(path_repo_snapshot, path_release_snapshot, remove=False) # find the real latest repo by timestamp repo_list = os.listdir(os.path.join(path_release_snapshot, "../")) diff --git a/job_request.py b/job_request.py index 8a3684b..ec0fca1 100755 --- a/job_request.py +++ b/job_request.py @@ -117,7 +117,6 @@ def obs_git_data(event_fields): except (AttributeError, ValueError): print '-------------------------------------' print 'key:value %s' % line - # FIXME: here is just a temp solution print 'FATAL: no tag in submit description' if 'GIT_PROJECTS' in entry.keys() and 'GIT_TAG' in entry.keys(): projects = [] @@ -169,7 +168,7 @@ def delete_from_obs(prj, pkg): os.getenv('OBS_API_PASSWD')) if not _bs.exists(prj, pkg): - print '[Warning]:buildservice cannot find prj %s: pkg %s' %(prj, pkg) + print '[Warning]:buildservice cannot find prj %s: pkg %s' % (prj, pkg) return True if _bs.get_package_real_project_name(prj, pkg) == prj: @@ -208,7 +207,7 @@ def request_accepted(data, gerrit, gitprj): data["GIT_TAG"], request_url(data['OBS_REQ_ID'])) try: - gerrit.review(commit = data['commitid'], message = message) + gerrit.review(commit=data['commitid'], message=message) except GerritError, err: print >> sys.stderr, 'Error posting review comment '\ 'back to Gerrit: %s' % str(err) @@ -265,7 +264,7 @@ def request_rejected(data, gerrit): request_url(data['OBS_REQ_ID'])) try: - gerrit.review(commit = data['commitid'], message = message) + gerrit.review(commit=data['commitid'], message=message) except GerritError, err: print >> sys.stderr, 'Error posting review comment '\ 'back to Gerrit: %s' % str(err) @@ -351,7 +350,7 @@ def main(): rest = IrisRestClient( os.getenv("IRIS_SERVER"), os.getenv("IRIS_USERNAME"), - base64.b64decode(os.getenv('IRIS_PASSWORDX',''))) + base64.b64decode(os.getenv('IRIS_PASSWORDX', ''))) rest.publish_event("repa_action", { "project": event_fields.get('sourceproject'), "status": event_fields.get('state'), diff --git a/job_rpm_buildlogs.py b/job_rpm_buildlogs.py index 58f0846..2457135 100755 --- a/job_rpm_buildlogs.py +++ b/job_rpm_buildlogs.py @@ -23,11 +23,9 @@ This code is called by jenkins jobs triggered by OBS events. import os import sys -import re -import json import base64 -from common.buildtrigger import trigger_info, trigger_next +from common.buildtrigger import trigger_info from common.iris_rest_client import IrisRestClient @@ -36,20 +34,13 @@ def main(): print '---[JOB STARTED: %s ]-------------------------' - obs_api = os.getenv("OBS_API_URL") - obs_user = os.getenv("OBS_API_USERNAME") - obs_passwd = os.getenv("OBS_API_PASSWD") - base_url = os.getenv("URL_PUBLIC_REPO_BASE") - base_path = os.getenv('PATH_REPO_BASE') - live_repo_base = os.getenv('PATH_LIVE_REPO_BASE') - content = trigger_info(os.getenv("TRIGGER_INFO")) pub_enabled = os.getenv("IRIS_PUB_ENABLED", "0") != "0" if pub_enabled: rest = IrisRestClient( os.getenv("IRIS_SERVER"), os.getenv("IRIS_USERNAME"), - base64.b64decode(os.getenv('IRIS_PASSWORDX',''))) + base64.b64decode(os.getenv('IRIS_PASSWORDX', ''))) rest.publish_event("package_built", { "project": content.get('project'), "repo": content.get('repository'), diff --git a/job_submit.py b/job_submit.py index 7ca2688..d5ece2c 100755 --- a/job_submit.py +++ b/job_submit.py @@ -25,7 +25,6 @@ import os import sys import json import base64 -import datetime import re import xml.etree.cElementTree as ElementTree from xml.sax.saxutils import escape @@ -214,7 +213,7 @@ def main(build_type): rest = IrisRestClient( os.getenv("IRIS_SERVER"), os.getenv("IRIS_USERNAME"), - base64.b64decode(os.getenv('IRIS_PASSWORDX',''))) + base64.b64decode(os.getenv('IRIS_PASSWORDX', ''))) rest.publish_event("submitted", { "branch": git_branch, "commit_id": gerrit_newrev, diff --git a/job_submitobs.py b/job_submitobs.py index b6e0e08..7e7a133 100755 --- a/job_submitobs.py +++ b/job_submitobs.py @@ -31,7 +31,6 @@ from time import sleep from urllib2 import HTTPError # internal module -from common import runner from common import utils from common.upload_service import upload_obs_service, UploadError from common.git import Git, clone_gitproject @@ -173,7 +172,7 @@ def check_tag_format(git, mygerrit, event, tag): msg += '\n\n' + SUGGESTION try: - mygerrit.review(commit = psr, message = msg) + mygerrit.review(commit=psr, message=msg) except GerritError, err: print >> sys.stderr, 'Error posting review comment '\ 'back to Gerrit: %s' % str(err) @@ -187,7 +186,7 @@ def check_tag_format(git, mygerrit, event, tag): return True -def find_specfile(prj_dir, packaging_dir, tag, event, tagger, pkg_name = None): +def find_specfile(prj_dir, packaging_dir, tag, event, tagger, pkg_name=None): """search specfile under packaging directory""" msg = '' @@ -227,7 +226,7 @@ def find_specfile(prj_dir, packaging_dir, tag, event, tagger, pkg_name = None): send_mail(TITLE_FAILED % (tag, event['project']), msg, tagger) return None else: - print('specfile %s' % spec) + print 'specfile %s' % spec return spec def parse_specfile(specfile, tag, event, tagger): @@ -239,7 +238,7 @@ def parse_specfile(specfile, tag, event, tagger): # use gbp to parse specfile spec = SpecFile(specfile) except GbpError, err: - print('gbp parse spec failed. %s' % err) + print 'gbp parse spec failed. %s' % err msg = 'The tag %s pushed, but backend service failed to parse %s. '\ 'Please try "gbs export" on this tag and make sure it can '\ 'work.\n\n'\ @@ -366,7 +365,7 @@ def main(): obs_mapping = '%s/%s/git-obs-mapping.xml' % (gitcache, mapping_prj) # check whether git-obs-mapping.xml exist in local if not os.path.isfile(obs_mapping): - print('Update %s/git-obs-mapping.xml to local.' % mapping_prj) + print 'Update %s/git-obs-mapping.xml to local.' % mapping_prj if not clone_gitproject(mapping_prj, \ os.path.join(gitcache, mapping_prj)): return 1 @@ -397,7 +396,7 @@ def main(): print 'git-obs-mapping:', event['project'], event['branch'], obstargets packagingdir = utils.parse_link('%s/%s' % (prjdir, 'packaging')) - print('packaging dir is %s/%s' % (prjdir, packagingdir)) + print 'packaging dir is %s/%s' % (prjdir, packagingdir) # checkout submit tag mygit.checkout(tag) @@ -502,7 +501,7 @@ def main(): break retry_count -= 1 except Exception, err: - print('obs operation failed, retrying...') + print 'obs operation failed, retrying...' print err sleep(1) retry_count -= 1 @@ -526,8 +525,8 @@ def main(): comment = 'This commit has been submitted to OBS %s project.\n' \ % obs_dst_prj + comment try: - mygerrit.review(commit = event['patchset_revision'], - message = comment) + mygerrit.review(commit=event['patchset_revision'], + message=comment) except GerritError, err: print >> sys.stderr, 'Error posting review comment '\ 'back to Gerrit: %s' % str(err) diff --git a/job_sync_snapdiff.py b/job_sync_snapdiff.py index f6a409f..e928a4d 100755 --- a/job_sync_snapdiff.py +++ b/job_sync_snapdiff.py @@ -45,7 +45,7 @@ def search_last_build(build_url, release_name, released=False): """ res = requests.get(build_url) if res.status_code != 200: - print 'access build_url: %s , error: %s' %(build_url, res.status_code) + print 'access build_url: %s , error: %s' % (build_url, res.status_code) return soup = bs4.BeautifulSoup(res.text) pattern_re = '^%s_[0-9]{8}.[0-9]+/$' % release_name @@ -71,7 +71,8 @@ def get_last_build(url_pub_base, repo_path, release_name): :param repo_path: the relative repo path. :return: path. the second lastest build url. """ - last_build_url = os.path.join(url_pub_base, repo_path[:repo_path.rfind('/')]) + last_build_url = os.path.join(url_pub_base, + repo_path[:repo_path.rfind('/')]) return search_last_build(last_build_url, release_name) def get_released_build(release_base, repo_path): @@ -84,7 +85,8 @@ def get_released_build(release_base, repo_path): base_contains = '/'.join(repo_path.split('/')[1:-1]) daily_url = os.path.join(release_base, 'daily', base_contains) weekly_url = os.path.join(release_base, 'weekly', base_contains) - return search_last_build(daily_url, True), search_last_build(weekly_url, True) + return search_last_build(daily_url, True), \ + search_last_build(weekly_url, True) def _get_buildid(url): """Get build id from url""" @@ -111,22 +113,23 @@ def generate_diff(old_url, new_url, repo, name, style='repo'): diff_name=diff_name) return '%s.html' % diff_name -def sync_world(template_name, repo_name, repo_path, **kwargs): +def sync_world(template_name, repo_name, repo_path, kwargs): """Sync repo and image diff. :param template_name: template we will use generate sumary index. :param kwargs: all context we use render template. + :param kwargs: type is dict """ template_path = os.path.join(os.path.dirname(__file__), 'templates') - env = Environment(loader = FileSystemLoader(template_path)) + env = Environment(loader=FileSystemLoader(template_path)) template = env.get_template(template_name) content = template.render(kwargs) sync_out = os.path.join(os.getenv('WORKSPACE'), 'outdir') reports = os.path.join(sync_out, 'builddata', 'reports', repo_name) if not os.path.exists(reports): return - with open(os.path.join(reports, 'index.html'), 'w') as fp: - fp.write(content) + with open(os.path.join(reports, 'index.html'), 'w') as index_file_p: + index_file_p.write(content) return sync(sync_out, os.path.join(os.getenv('IMG_SYNC_DEST_BASE'), \ repo_path)) @@ -142,9 +145,11 @@ 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*)', \ + # pylint: disable=W0612 + # disable unused variable + release_name, _release_id = re.search(r'(\S*)_(\d{8}\.\d*)', \ build_id).groups() - + # pylint: enable=W0612 diff_root = os.path.join(url_pub_base, repo_path) current_repo_url = os.path.join(diff_root, 'repos', repo_name, 'packages') @@ -155,8 +160,10 @@ def main(): 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') - last_current = generate_diff(last_repo_url, current_repo_url, repo_name, 'last_current') + last_repo_url = os.path.join(last_repo_base, 'repos', + repo_name, 'packages') + last_current = generate_diff(last_repo_url, current_repo_url, + repo_name, 'last_current') last_id = _get_buildid(last_repo_url) context['repo'].append(('last_build', last_id, last_current)) @@ -164,17 +171,22 @@ def main(): releases_url = os.path.join(url_pub_base, 'releases') # generate current and releases repo diff - daily_repo_base, weekly_repo_base = get_released_build(releases_url, repo_path) + daily_repo_base, weekly_repo_base = get_released_build(releases_url, + repo_path) if daily_repo_base: - daily_repo_url = os.path.join(daily_repo_base, 'repos', repo_name, 'packages') - daily_current = generate_diff(daily_repo_url, current_repo_url, repo_name, 'daily_current') + daily_repo_url = os.path.join(daily_repo_base, + 'repos', repo_name, 'packages') + daily_current = generate_diff(daily_repo_url, current_repo_url, + repo_name, 'daily_current') daily_id = _get_buildid(daily_repo_url) context['repo'].append(('daily_build', daily_id, daily_current)) if weekly_repo_base: - weekly_repo_url = os.path.join(weekly_repo_base, 'repos', repo_name, 'packages') - weekly_current = generate_diff(weekly_repo_url, current_repo_url, repo_name, 'weekly_current') + weekly_repo_url = os.path.join(weekly_repo_base, + 'repos', repo_name, 'packages') + weekly_current = generate_diff(weekly_repo_url, current_repo_url, + repo_name, 'weekly_current') weekly_id = _get_buildid(weekly_repo_url) context['repo'].append(('weekly_build', weekly_id, weekly_current)) @@ -183,30 +195,48 @@ def main(): for item in content: current_image_url = os.path.join(diff_root, item['images_path']) - last_image_url = os.path.join(last_repo_base, item['images_path']) if last_repo_base else None - daily_image_url = os.path.join(daily_repo_base, item['images_path']) if daily_repo_base else None - weekly_image_url = os.path.join(weekly_repo_base, item['images_path']) if weekly_repo_base else None + last_image_url = os.path.join( + last_repo_base, + item['images_path']) if last_repo_base else None + daily_image_url = os.path.join( + daily_repo_base, + item['images_path']) if daily_repo_base else None + weekly_image_url = os.path.join( + weekly_repo_base, + item['images_path']) if weekly_repo_base else None context['images'][item['name']] = [] # collect each image information. if requests.get(current_image_url).status_code == 200: - if last_image_url and requests.get(last_image_url).status_code == 200: - name = generate_diff(last_image_url, current_image_url, repo_name, item['name']+'_last_current', style='image') - context['images'][item['name']].append(('last_build', last_id, name)) - if daily_image_url and requests.get(daily_image_url).status_code == 200: - name = generate_diff(daily_image_url, current_image_url, repo_name, item['name']+'_daily_current', style='image') - context['images'][item['name']].append(('daily_build', daily_id, name)) - if weekly_image_url and requests.get(weekly_image_url).status_code == 200: - name = generate_diff(weekly_image_url, current_image_url, repo_name, item['name']+'_weekly_current', style='image') - context['images'][item['name']].append(('weekly_build', weekly_id, name)) + if (last_image_url and + requests.get(last_image_url).status_code == 200): + name = generate_diff(last_image_url, current_image_url, + repo_name, item['name']+'_last_current', + style='image') + context['images'][item['name']].append(('last_build', + last_id, name)) + if (daily_image_url and + requests.get(daily_image_url).status_code == 200): + name = generate_diff(daily_image_url, current_image_url, + repo_name, item['name']+'_daily_current', + style='image') + context['images'][item['name']].append(('daily_build', + daily_id, name)) + if (weekly_image_url and + requests.get(weekly_image_url).status_code == 200): + name = generate_diff(weekly_image_url, current_image_url, + repo_name, item['name']+'_weekly_current', + style='image') + context['images'][item['name']].append(('weekly_build', + weekly_id, name)) # if image is empty, pop it. if not context['images'][item['name']]: context['images'].pop(item['name']) # sync all - return sync_world('index.html', repo_name, repo_path, **context) + return sync_world('index.html', repo_name, repo_path, context) if __name__ == '__main__': sys.exit(main()) diff --git a/obs_requests/mailer.py b/obs_requests/mailer.py index 33866b5..5741ff4 100644 --- a/obs_requests/mailer.py +++ b/obs_requests/mailer.py @@ -264,8 +264,8 @@ def _is_valid_submitter(temp, author, enabled_users): return True -def mailer(request, _bs, request_data, sr_enabled_users=None, \ - templates_dir='.'): +def mailer(request, _bs, request_data, sr_enabled_users=None, + templates_dir='.'): """ Sending mail to mailing list for different kinds of reqs """ diff --git a/tests/test_builddata.py b/tests/test_builddata.py index 7e3000b..8d89929 100644 --- a/tests/test_builddata.py +++ b/tests/test_builddata.py @@ -66,6 +66,8 @@ class BuildDataTest(unittest.TestCase): """Test loading of build data from xml string.""" bdata = BuildData(build_id='test.id') bdata.load(TEST_XML) + # pylint: disable=line-too-long + # unsuitable line feed, line feed more unreadable self.assertEqual(bdata.targets, OrderedDict( [(u'atom', {"repos": @@ -87,7 +89,7 @@ class BuildDataTest(unittest.TestCase): 'value': u'3bd64bd5fa862d99dbc363ccb1557d137b5685bc3bfe9a86bcbf50767da5e2e8'}, 'location': u'3bd64bd5fa862d99dbc363ccb1557d137b5685bc3bfe9a86bcbf50767da5e2e8-build.conf'}, 'name': u'exynos', 'archs': [u'armv7l']})])) - + # pylint: enable=line-too-long def test_load_error(self): """Test rasing BuildDataError.""" diff --git a/tests/test_gbpgit.py b/tests/test_gbpgit.py index 2c6e20b..f942971 100644 --- a/tests/test_gbpgit.py +++ b/tests/test_gbpgit.py @@ -149,7 +149,8 @@ class GitRepositoryTest(unittest.TestCase): pattern = 'submit/*', \ exact_match = True) with Workspace(prjdir, os.getcwd()): - output = runner('''git describe --match "submit/*" --exact-match %s'''\ + output = runner( + '''git describe --match "submit/*" --exact-match %s''' \ % tag_names[0]) self.assertEqual(output.communicate()[0].split('\n')[0], describe) shutil.rmtree(prjdir) @@ -163,10 +164,10 @@ class GitRepositoryTest(unittest.TestCase): # get all names from git project tag_names = get_tag_names(prjdir, os.getcwd()) # get the result of git_getoutput and result of assumed - out_show, ret_show = mygitout.getoutput_show(tag_names[0]) + out_show, _ret_show = mygitout.getoutput_show(tag_names[0]) output_show = mygitout.getoutput('git show -s --pretty=format:### %s'\ % tag_names[0], prjdir) - out_branch, ret_branch = mygitout.getoutput_branch(tag_names[0]) + out_branch, _ret_branch = mygitout.getoutput_branch(tag_names[0]) output_branch = mygitout.getoutput('git branch -a --contains %s'\ % tag_names[0], prjdir) # compare @@ -217,7 +218,8 @@ class GitRepositoryTest(unittest.TestCase): shutil.rmtree('/tmp/mygit') shutil.rmtree('/tmp/mygit-pull') - def test_push(self): + @staticmethod + def test_push(): """Test push """ # create a bare project and clone git project to local dir @@ -234,7 +236,8 @@ class GitRepositoryTest(unittest.TestCase): shutil.rmtree('/tmp/mygit') shutil.rmtree('/tmp/mygit-pull') - def test_pull(self): + @staticmethod + def test_pull(): """Test pull """ # create a bare project and clone git project to local dir @@ -363,7 +366,8 @@ class GitgetoutputTest(GitRepository): out, ret = self._git_getoutput('branch', ['-a', '--contains', tag_name]) return out, ret - def getoutput(self, command, prjdir): + @staticmethod + def getoutput(command, prjdir): """Return the result """ output = [] -- 2.7.4