diff --git a/.flake8 b/.flake8 index c4dae66a..e6d61f74 100644 --- a/.flake8 +++ b/.flake8 @@ -1,4 +1,4 @@ [flake8] exclude = abichecker max-line-length = 100 -ignore = W503,W504,E501,F401,E128,E251,E201,E202 +ignore = W503,W504,E501,F401,E128,E251,E201 diff --git a/ReviewBot.py b/ReviewBot.py index e5ccb490..a2d1efa0 100644 --- a/ReviewBot.py +++ b/ReviewBot.py @@ -78,7 +78,7 @@ class ReviewBot(object): return (None|True|False) """ - DEFAULT_REVIEW_MESSAGES = { 'accepted': 'ok', 'declined': 'review failed' } + DEFAULT_REVIEW_MESSAGES = { 'accepted': 'ok', 'declined': 'review failed'} REVIEW_CHOICES = ('normal', 'no', 'accept', 'accept-onpass', 'fallback-onfail', 'fallback-always') COMMENT_MARKER_REGEX = re.compile(r'') @@ -120,7 +120,7 @@ class ReviewBot(object): def _load_config(self, handle = None): d = self.__class__.config_defaults y = yaml.safe_load(handle) if handle is not None else {} - return namedtuple('BotConfig', sorted(d.keys()))(*[ y.get(p, d[p]) for p in sorted(d.keys()) ]) + return namedtuple('BotConfig', sorted(d.keys()))(*[ y.get(p, d[p]) for p in sorted(d.keys())]) def load_config(self, filename = None): if filename: @@ -166,7 +166,7 @@ class ReviewBot(object): def set_request_ids(self, ids): for rqid in ids: - u = osc.core.makeurl(self.apiurl, [ 'request', rqid ], { 'withfullhistory': '1' }) + u = osc.core.makeurl(self.apiurl, [ 'request', rqid], { 'withfullhistory': '1'}) r = osc.core.http_GET(u) root = ET.parse(r).getroot() req = osc.core.Request() @@ -559,7 +559,7 @@ class ReviewBot(object): @staticmethod @memoize(session=True) def _get_sourceinfo(apiurl, project, package, rev=None): - query = { 'view': 'info' } + query = { 'view': 'info'} if rev is not None: query['rev'] = rev url = osc.core.makeurl(apiurl, ('source', project, package), query=query) @@ -585,7 +585,7 @@ class ReviewBot(object): return None props = ('package', 'rev', 'vrev', 'srcmd5', 'lsrcmd5', 'verifymd5') - return namedtuple('SourceInfo', props)(*[ root.get(p) for p in props ]) + return namedtuple('SourceInfo', props)(*[ root.get(p) for p in props]) # TODO: what if there is more than _link? def _get_linktarget_self(self, src_project, src_package): @@ -637,7 +637,7 @@ class ReviewBot(object): review = "@by_user='%s' and @state='new'" % self.review_user if self.review_group: review = osc.core.xpath_join(review, "@by_group='%s' and @state='new'" % self.review_group) - url = osc.core.makeurl(self.apiurl, ('search', 'request'), { 'match': "state/@name='review' and review[%s]" % review, 'withfullhistory': 1 } ) + url = osc.core.makeurl(self.apiurl, ('search', 'request'), { 'match': "state/@name='review' and review[%s]" % review, 'withfullhistory': 1}) root = ET.parse(osc.core.http_GET(url)).getroot() self.requests = [] @@ -651,7 +651,7 @@ class ReviewBot(object): def ids_project(self, project, typename): url = osc.core.makeurl(self.apiurl, ('search', 'request'), { 'match': "(state/@name='review' or state/@name='new') and (action/target/@project='%s' and action/@type='%s')" % (project, typename), - 'withfullhistory': 1 }) + 'withfullhistory': 1}) root = ET.parse(osc.core.http_GET(url)).getroot() ret = [] @@ -790,7 +790,7 @@ class ReviewBot(object): if history_limit: self.logger.debug("%s not the latest version, checking history", rev) - u = osc.core.makeurl(self.apiurl, [ 'source', project, package, '_history' ], { 'limit': history_limit }) + u = osc.core.makeurl(self.apiurl, [ 'source', project, package, '_history'], { 'limit': history_limit}) try: r = osc.core.http_GET(u) except HTTPError: @@ -1002,4 +1002,4 @@ class CommandLineInterface(cmdln.Cmdln): if __name__ == "__main__": app = CommandLineInterface() - sys.exit( app.main() ) + sys.exit( app.main()) diff --git a/ToolBase.py b/ToolBase.py index fce5effe..f9aed0e2 100644 --- a/ToolBase.py +++ b/ToolBase.py @@ -94,7 +94,7 @@ class ToolBase(object): def meta_get_packagelist(self, prj, deleted=None, expand=False): root = ET.fromstring(self._meta_get_packagelist(prj, deleted, expand)) - return [ node.get('name') for node in root.findall('entry') if not node.get('name') == '000product' and not node.get('name').startswith('patchinfo.') ] + return [ node.get('name') for node in root.findall('entry') if not node.get('name') == '000product' and not node.get('name').startswith('patchinfo.')] def latest_packages(self, project): data = self.cached_GET(self.makeurl(['project', 'latest_commits', project])) @@ -204,4 +204,4 @@ class CommandLineInterface(cmdln.Cmdln): if __name__ == "__main__": app = CommandLineInterface() - sys.exit( app.main() ) + sys.exit( app.main()) diff --git a/biarchtool.py b/biarchtool.py index 53aff0c7..73f563b1 100755 --- a/biarchtool.py +++ b/biarchtool.py @@ -53,7 +53,7 @@ class BiArchTool(ToolBase.ToolBase): if expand: query['expand'] = 1 root = ET.fromstring(self.cached_GET(self.makeurl(['source', self.project, package], query))) - return [ node.get('name') for node in root.findall('entry') ] + return [ node.get('name') for node in root.findall('entry')] def has_baselibs(self, package): if package in self._has_baselibs: @@ -125,7 +125,7 @@ class BiArchTool(ToolBase.ToolBase): if self.rdeps is not None: return self.rdeps = dict() - url = self.makeurl(['build', self.project, 'standard', self.arch, '_builddepinfo' ], {'view': 'revpkgnames'}) + url = self.makeurl(['build', self.project, 'standard', self.arch, '_builddepinfo'], {'view': 'revpkgnames'}) x = ET.fromstring(self.cached_GET(url)) for pnode in x.findall('package'): name = pnode.get('name') @@ -201,7 +201,7 @@ class BiArchTool(ToolBase.ToolBase): bn = pkgmeta.find('build') if bn is None: bn = ET.SubElement(pkgmeta, 'build') - ET.SubElement(bn, 'disable', { 'arch': self.arch }) + ET.SubElement(bn, 'disable', { 'arch': self.arch}) changed = True if changed: @@ -214,7 +214,7 @@ class BiArchTool(ToolBase.ToolBase): self.http_POST(self.makeurl(['build', self.project], { 'cmd': 'wipe', 'arch': self.arch, - 'package': pkg })) + 'package': pkg})) except HTTPError as e: logger.error('failed to update %s: %s', pkg, e) @@ -264,7 +264,7 @@ class BiArchTool(ToolBase.ToolBase): bn = pkgmeta.find('build') if bn is None: bn = ET.SubElement(pkgmeta, 'build') - ET.SubElement(bn, 'disable', { 'arch': self.arch }) + ET.SubElement(bn, 'disable', { 'arch': self.arch}) changed = True else: logger.debug('%s already disabled for %s', pkg, self.arch) @@ -296,7 +296,7 @@ class BiArchTool(ToolBase.ToolBase): self.http_POST(self.makeurl(['build', self.project], { 'cmd': 'wipe', 'arch': self.arch, - 'package': pkg })) + 'package': pkg})) except HTTPError as e: logger.error('failed to update %s: %s', pkg, e) @@ -371,4 +371,4 @@ class CommandLineInterface(ToolBase.CommandLineInterface): if __name__ == "__main__": app = CommandLineInterface() - sys.exit( app.main() ) + sys.exit( app.main()) diff --git a/bugowner.py b/bugowner.py index c2b55b26..9a84e18a 100755 --- a/bugowner.py +++ b/bugowner.py @@ -55,7 +55,7 @@ class BugownerTool(ToolBase.ToolBase): url = self.makeurl(['person', name]) root = ET.fromstring(self.cached_GET(url)) - person = Person(*[ root.find('./{}'.format(field)).text for field in Person._fields ]) + person = Person(*[ root.find('./{}'.format(field)).text for field in Person._fields]) self.persons[name] = person return person @@ -116,7 +116,7 @@ class BugownerTool(ToolBase.ToolBase): logging.debug("%s was last touched by %s, ignored." % (package, user)) return None - return [ Owner('person', user) ] + return [ Owner('person', user)] def is_release_manager(self, name): if self.release_managers is None: diff --git a/build-fail-reminder.py b/build-fail-reminder.py index cf83d753..c1f25321 100755 --- a/build-fail-reminder.py +++ b/build-fail-reminder.py @@ -211,7 +211,7 @@ maintainer/bugowner did not yet find the time to look into the matter and he/she would certainly appreciate help to get this sorted. -""" % { 'project': project } +""" % { 'project': project} for pkg in ProjectComplainList: text += "- %s\n" % pkg text += u""" @@ -220,7 +220,7 @@ package(s) are going to be removed from %(project)s. Kind regards, %(sender)s -""" % { 'project': project, 'sender': sender } +""" % { 'project': project, 'sender': sender} SendMail(logger, project, sender, to, fullname, subject, text) diff --git a/check_maintenance_incidents.py b/check_maintenance_incidents.py index 832798f5..21aff84d 100755 --- a/check_maintenance_incidents.py +++ b/check_maintenance_incidents.py @@ -39,7 +39,7 @@ class MaintenanceChecker(ReviewBot.ReviewBot): self.logger.debug("%s looks wrong as maintainer, skipped", prj) continue self.add_review(req, by_project = prj, by_package = pkg, - msg = 'Submission for {} by someone who is not maintainer in the devel project ({}). Please review'.format(pkg, prj) ) + msg = 'Submission for {} by someone who is not maintainer in the devel project ({}). Please review'.format(pkg, prj)) @staticmethod @memoize(session=True) @@ -157,4 +157,4 @@ class MaintenanceChecker(ReviewBot.ReviewBot): if __name__ == "__main__": app = ReviewBot.CommandLineInterface() app.clazz = MaintenanceChecker - sys.exit( app.main() ) + sys.exit( app.main()) diff --git a/check_source.py b/check_source.py index 07e4c450..b6d24fbb 100755 --- a/check_source.py +++ b/check_source.py @@ -272,7 +272,7 @@ class CheckSource(ReviewBot.ReviewBot): return True - def suppresses_whitelist_warnings( self, source_project, source_package ): + def suppresses_whitelist_warnings( self, source_project, source_package): # checks if there's a rpmlintrc that suppresses warnings that we check found_entries = set() contents = source_file_load(self.apiurl, source_project, source_package, source_package + '-rpmlintrc') @@ -295,7 +295,7 @@ class CheckSource(ReviewBot.ReviewBot): return found_entries - def has_whitelist_warnings( self, source_project, source_package, target_project, target_package ): + def has_whitelist_warnings( self, source_project, source_package, target_project, target_package): # this checks if this is a submit to an product project and it has warnings for non-whitelisted permissions/files found_entries = set() url = osc.core.makeurl(self.apiurl, ['build', target_project]) diff --git a/check_source_in_factory.py b/check_source_in_factory.py index d06f0c73..2b6ca86a 100755 --- a/check_source_in_factory.py +++ b/check_source_in_factory.py @@ -21,8 +21,8 @@ class FactorySourceChecker(ReviewBot.ReviewBot): def __init__(self, *args, **kwargs): ReviewBot.ReviewBot.__init__(self, *args, **kwargs) - self.factory = [ "openSUSE:Factory" ] - self.review_messages = { 'accepted': 'ok', 'declined': 'the package needs to be accepted in Factory first' } + self.factory = [ "openSUSE:Factory"] + self.review_messages = { 'accepted': 'ok', 'declined': 'the package needs to be accepted in Factory first'} self.history_limit = 5 def check_source_submission(self, src_project, src_package, src_rev, target_project, target_package): @@ -165,4 +165,4 @@ class CommandLineInterface(ReviewBot.CommandLineInterface): if __name__ == "__main__": app = CommandLineInterface() - sys.exit( app.main() ) + sys.exit( app.main()) diff --git a/check_tags_in_requests.py b/check_tags_in_requests.py index 70e705db..ad7518a2 100755 --- a/check_tags_in_requests.py +++ b/check_tags_in_requests.py @@ -18,7 +18,7 @@ class TagChecker(ReviewBot.ReviewBot): def __init__(self, *args, **kwargs): super(TagChecker, self).__init__(*args, **kwargs) - self.factory = [ "openSUSE:Factory" ] + self.factory = [ "openSUSE:Factory"] self.review_messages['declined'] = """ (This is a script, so report bugs) @@ -125,7 +125,7 @@ class CommandLineInterface(ReviewBot.CommandLineInterface): bot = ReviewBot.CommandLineInterface.setup_checker(self) if self.options.factory: - bot.factory = [ self.options.factory ] + bot.factory = [ self.options.factory] return bot diff --git a/dashboard/generate.py b/dashboard/generate.py index be14469b..8542bea7 100644 --- a/dashboard/generate.py +++ b/dashboard/generate.py @@ -47,11 +47,11 @@ class Fetcher(object): self.projects.append(Project(self, name, kwargs)) def build_summary(self, project, repository): - url = makeurl(self.apiurl, ['build', project, '_result'], { 'repository': repository, 'view': 'summary' }) + url = makeurl(self.apiurl, ['build', project, '_result'], { 'repository': repository, 'view': 'summary'}) try: f = http_GET(url) except HTTPError: - return { 'building': -1 } + return { 'building': -1} root = ET.parse(f).getroot() failed = 0 unresolvable = 0 @@ -85,7 +85,7 @@ class Fetcher(object): return { 'building': 10000 - int(building * 10000 / (building + failed + succeeded + broken)), 'failed': failed, 'broken': broken, - 'unresolvable': unresolvable } + 'unresolvable': unresolvable} def generate_all_archs(self, project): meta = ET.fromstringlist(show_project_meta(self.apiurl, project)) diff --git a/factory-package-news/factory-package-news.py b/factory-package-news/factory-package-news.py index 916560dc..91a889e0 100755 --- a/factory-package-news/factory-package-news.py +++ b/factory-package-news/factory-package-news.py @@ -85,7 +85,7 @@ class ChangeLogger(cmdln.Cmdln): if srpm in changelogs: changelogs[srpm]['packages'].append(binrpm) else: - data = { 'packages': [ binrpm ] } + data = { 'packages': [ binrpm]} data['changelogtime'] = h['changelogtime'] data['changelogtext'] = h['changelogtext'] for (t, txt) in enumerate(data['changelogtext']): @@ -104,7 +104,7 @@ class ChangeLogger(cmdln.Cmdln): # On Tumbleweed, there is no '/suse' prefix for path in ['/suse/x86_64', '/suse/noarch', '/suse/aarch64', - '/suse/s390x', '/x86_64', '/noarch', '/aarch64', '/s390x' ]: + '/suse/s390x', '/x86_64', '/noarch', '/aarch64', '/s390x']: file_stats = iso.readdir(path) if file_stats is None: continue @@ -125,7 +125,7 @@ class ChangeLogger(cmdln.Cmdln): for pkg in [ os.path.join(root, file) for file in files]: if not pkg.endswith('.rpm'): continue - h = self.readRpmHeader( pkg ) + h = self.readRpmHeader( pkg) _getdata(h) else: raise Exception("don't know what to do with %s" % arg) @@ -281,4 +281,4 @@ class ChangeLogger(cmdln.Cmdln): if __name__ == "__main__": app = ChangeLogger() - sys.exit( app.main() ) + sys.exit( app.main()) diff --git a/fcc_submitter.py b/fcc_submitter.py index 70334533..5fc92da0 100755 --- a/fcc_submitter.py +++ b/fcc_submitter.py @@ -228,7 +228,7 @@ class FccSubmitter(object): def check_multiple_specfiles(self, project, package): try: - url = makeurl(self.apiurl, ['source', project, package], { 'expand': '1' } ) + url = makeurl(self.apiurl, ['source', project, package], { 'expand': '1'}) except HTTPError as e: if e.code == 404: return None @@ -241,7 +241,7 @@ class FccSubmitter(object): else: data['linkinfo'] = None - files = [ entry.get('name').replace('.spec', '') for entry in root.findall('entry') if entry.get('name').endswith('.spec') ] + files = [ entry.get('name').replace('.spec', '') for entry in root.findall('entry') if entry.get('name').endswith('.spec')] data['specs'] = files if len(files) > 1: diff --git a/legal-auto.py b/legal-auto.py index cd7cb3e9..ad3a4791 100755 --- a/legal-auto.py +++ b/legal-auto.py @@ -273,7 +273,7 @@ class LegalAuto(ReviewBot.ReviewBot): 'external_link': tproject} if revision: params['rev'] = revision - old_id = self.pkg_cache.get(package, { None: None }).get(revision, None) + old_id = self.pkg_cache.get(package, { None: None}).get(revision, None) if old_id: return old_id @@ -288,7 +288,7 @@ class LegalAuto(ReviewBot.ReviewBot): return None legaldb_id = obj['saved']['id'] self.logger.debug("PKG {}/{}[{}]->{} is {}".format(sproject, package, revision, tproject, legaldb_id)) - self.pkg_cache[package] = { revision: legaldb_id } + self.pkg_cache[package] = { revision: legaldb_id} if obj['saved']['state'] == 'obsolete': url = osc.core.makeurl(self.legaldb, ['packages', 'import', str(legaldb_id)], { 'result': f'Reopened for {tproject}', 'state': 'new', diff --git a/osclib/accept_command.py b/osclib/accept_command.py index cfa3c062..ec59e74c 100644 --- a/osclib/accept_command.py +++ b/osclib/accept_command.py @@ -22,7 +22,7 @@ class AcceptCommand(object): def find_new_requests(self, project): match = f"state/@name='new' and action/target/@project='{project}'" - url = self.api.makeurl(['search', 'request'], { 'match': match }) + url = self.api.makeurl(['search', 'request'], { 'match': match}) f = http_GET(url) root = ET.parse(f).getroot() @@ -70,7 +70,7 @@ class AcceptCommand(object): print('ERROR: Not compatible with force option') return False - self.requests = { 'delete': [], 'submit': [] } + self.requests = { 'delete': [], 'submit': []} staging_packages = {} if accept_all_green: @@ -104,7 +104,7 @@ class AcceptCommand(object): # we have checked ourselves and accepting one staging project creates a race # for the other staging projects to appear building again - opts = { 'force': '1' } + opts = { 'force': '1'} print('triggering staging accepts...') for project in staging_packages.keys(): diff --git a/osclib/core.py b/osclib/core.py index 92fe380a..d2a661a1 100644 --- a/osclib/core.py +++ b/osclib/core.py @@ -1271,6 +1271,6 @@ def message_suffix(action, message=None): def request_state_change(apiurl, request_id, state): - query = { 'newstate': state, 'cmd': 'changestate' } + query = { 'newstate': state, 'cmd': 'changestate'} url = makeurl(apiurl, ['request', request_id], query) return ET.parse(http_POST(url)).getroot().get('code') diff --git a/osclib/origin.py b/osclib/origin.py index ca084b63..e6126769 100644 --- a/osclib/origin.py +++ b/osclib/origin.py @@ -198,13 +198,13 @@ def config_resolve_create_workarounds(config, values_workaround, origins_skip): values_new = deepcopy(values) values_new.update(values_workaround) - origins.insert(i, { origin_new: values_new }) + origins.insert(i, { origin_new: values_new}) def config_resolve_create_family(apiurl, project, config, position, origin, values): projects = project_list_family_prior_pattern(apiurl, origin, project) for origin_expanded in reversed(projects): - config['origins'].insert(position, { str(origin_expanded): values }) + config['origins'].insert(position, { str(origin_expanded): values}) def config_resolve_apply(config, values_apply, key=None, workaround=False, until=None): diff --git a/osclib/prio_command.py b/osclib/prio_command.py index 4a954356..23259de6 100644 --- a/osclib/prio_command.py +++ b/osclib/prio_command.py @@ -21,7 +21,7 @@ class PrioCommand(object): req = osc.core.get_request(self.api.apiurl, reqid) if req.priority == priority: continue - query = { 'cmd': 'setpriority', 'priority': priority } + query = { 'cmd': 'setpriority', 'priority': priority} url = osc.core.makeurl(self.api.apiurl, ['request', reqid], query) print(f"raising priority of {r.get('package')} [{r.get('request')}] to {priority}") try: diff --git a/osclib/request_finder.py b/osclib/request_finder.py index 8ef3bd87..eeca9d44 100644 --- a/osclib/request_finder.py +++ b/osclib/request_finder.py @@ -160,7 +160,7 @@ class RequestFinder(object): This function is only called for its side effect. """ - url = self.api.makeurl(['staging', self.api.project, 'staging_projects'], { 'requests': 1 }) + url = self.api.makeurl(['staging', self.api.project, 'staging_projects'], { 'requests': 1}) status = ET.parse(self.api.retried_GET(url)).getroot() for p in pkgs: @@ -180,7 +180,7 @@ class RequestFinder(object): all requests staged in it """ project = self.api.prj_from_short(project) - url = self.api.makeurl(['staging', self.api.project, 'staging_projects', project], { 'requests': 1 }) + url = self.api.makeurl(['staging', self.api.project, 'staging_projects', project], { 'requests': 1}) try: staging = ET.parse(self.api.retried_GET(url)).getroot() except HTTPError: diff --git a/osclib/request_splitter.py b/osclib/request_splitter.py index de1dfc49..4031d61c 100644 --- a/osclib/request_splitter.py +++ b/osclib/request_splitter.py @@ -229,7 +229,7 @@ class RequestSplitter(object): 'project': project, 'bootstrapped': bootstrapped, # TODO: find better place for splitter info - 'splitter_info': { 'strategy': { 'name': 'none' } }, + 'splitter_info': { 'strategy': { 'name': 'none'}}, 'status': status } diff --git a/osclib/select_command.py b/osclib/select_command.py index 8517c24d..c7e23588 100644 --- a/osclib/select_command.py +++ b/osclib/select_command.py @@ -44,7 +44,7 @@ class SelectCommand(object): package = self._package(request) candidates = [] # Store candidates to be supersede by 'request' - url = self.api.makeurl(['staging', self.api.project, 'staging_projects'], { 'requests': 1 }) + url = self.api.makeurl(['staging', self.api.project, 'staging_projects'], { 'requests': 1}) status = ET.parse(self.api.retried_GET(url)).getroot() for prj in status.findall('staging_project'): for req in prj.findall('./staged_requests/request'): diff --git a/osclib/stagingapi.py b/osclib/stagingapi.py index 310b9809..c009036c 100644 --- a/osclib/stagingapi.py +++ b/osclib/stagingapi.py @@ -247,7 +247,7 @@ class StagingAPI(object): """ packages_staged = {} - url = self.makeurl(['staging', self.project, 'staging_projects'], { 'requests': 1 }) + url = self.makeurl(['staging', self.project, 'staging_projects'], { 'requests': 1}) status = ET.parse(self.retried_GET(url)).getroot() for prj in status.findall('staging_project'): for req in prj.findall('./staged_requests/request'): @@ -566,13 +566,13 @@ class StagingAPI(object): def add_ignored_request(self, request_id, comment): url = self.makeurl(['staging', self.project, 'excluded_requests']) root = ET.Element('excluded_requests') - ET.SubElement(root, 'request', { 'id': str(request_id), 'description': comment }) + ET.SubElement(root, 'request', { 'id': str(request_id), 'description': comment}) http_POST(url, data=ET.tostring(root)) def del_ignored_request(self, request_id): url = self.makeurl(['staging', self.project, 'excluded_requests']) root = ET.Element('excluded_requests') - ET.SubElement(root, 'request', { 'id': str(request_id) }) + ET.SubElement(root, 'request', { 'id': str(request_id)}) http_DELETE(url, data=ET.tostring(root)) @memoize(session=True, add_invalidate=True) @@ -592,7 +592,7 @@ class StagingAPI(object): where = "@by_group='{}' and @state='new'".format(self.cstaging_group) target = "target[@project='{}']".format(self.project) - query = {'match': f"state/@name='review' and review[{where}] and {target}" } + query = {'match': f"state/@name='review' and review[{where}] and {target}"} if query_extra is not None: query.update(query_extra) url = self.makeurl(['search', 'request'], query) @@ -957,7 +957,7 @@ class StagingAPI(object): if not project: project = self.project - url = self.makeurl(['source', project, package], { 'cmd': 'showlinked' }) + url = self.makeurl(['source', project, package], { 'cmd': 'showlinked'}) f = http_POST(url) root = ET.parse(f).getroot() result = [] @@ -984,7 +984,7 @@ class StagingAPI(object): # now trigger wipebinaries to emulate a delete self._wipe_package(project, package) - url = self.makeurl(['source', project, package], { 'view': 'getmultibuild' }) + url = self.makeurl(['source', project, package], { 'view': 'getmultibuild'}) f = http_GET(url) root = ET.parse(f).getroot() for entry in root.findall('entry'): @@ -1148,7 +1148,7 @@ class StagingAPI(object): return status.tag def switch_flag_in_prj(self, project, flag='build', state='disable', repository=None, arch=None): - query = { 'cmd': 'set_flag', 'flag': flag, 'status': state } + query = { 'cmd': 'set_flag', 'flag': flag, 'status': state} if repository: query['repository'] = repository if arch: diff --git a/osclib/util.py b/osclib/util.py index ce790893..fc94c765 100644 --- a/osclib/util.py +++ b/osclib/util.py @@ -158,7 +158,7 @@ def mail_send_with_details(relay, sender, subject, to, text, xmailer=None, follo return logger.info("%s: %s", msg['To'], msg['Subject']) s = smtplib.SMTP(relay) - s.sendmail(msg['From'], {msg['To'], sender }, msg.as_string()) + s.sendmail(msg['From'], {msg['To'], sender}, msg.as_string()) s.quit() diff --git a/project-installcheck.py b/project-installcheck.py index 43b16db2..410df060 100755 --- a/project-installcheck.py +++ b/project-installcheck.py @@ -263,7 +263,7 @@ class RepoChecker(): query = {'cmd': 'rebuild', 'repository': repository, 'arch': arch, 'package': rebuilds} url = makeurl(self.apiurl, ['build', project]) - headers = { 'Content-Type': 'application/x-www-form-urlencoded' } + headers = { 'Content-Type': 'application/x-www-form-urlencoded'} http_request('POST', url, headers, data=urlencode(query, doseq=True)) self.store_yaml(oldstate, project, repository, arch) diff --git a/tests/OBSLocal.py b/tests/OBSLocal.py index 2c3bc030..0c4fc569 100644 --- a/tests/OBSLocal.py +++ b/tests/OBSLocal.py @@ -431,7 +431,7 @@ class StagingWorkflow(ABC): root = ET.fromstring(meta) persons = ET.SubElement(root, 'person') for user in users: - ET.SubElement(persons, 'person', {'userid': user} ) + ET.SubElement(persons, 'person', {'userid': user}) meta = ET.tostring(root) if name not in self.groups: @@ -855,20 +855,20 @@ class Project(object): root = ET.fromstring(meta) for group in reviewer.get('groups', []): - ET.SubElement(root, 'group', { 'groupid': group, 'role': 'reviewer'} ) + ET.SubElement(root, 'group', { 'groupid': group, 'role': 'reviewer'}) for group in reviewer.get('users', []): - ET.SubElement(root, 'person', { 'userid': group, 'role': 'reviewer'} ) + ET.SubElement(root, 'person', { 'userid': group, 'role': 'reviewer'}) # TODO: avoid this duplication for group in maintainer.get('groups', []): - ET.SubElement(root, 'group', { 'groupid': group, 'role': 'maintainer'} ) + ET.SubElement(root, 'group', { 'groupid': group, 'role': 'maintainer'}) for group in maintainer.get('users', []): - ET.SubElement(root, 'person', { 'userid': group, 'role': 'maintainer'} ) + ET.SubElement(root, 'person', { 'userid': group, 'role': 'maintainer'}) for link in project_links: - ET.SubElement(root, 'link', { 'project': link }) + ET.SubElement(root, 'link', { 'project': link}) if with_repo: - repo = ET.SubElement(root, 'repository', { 'name': 'standard' }) + repo = ET.SubElement(root, 'repository', { 'name': 'standard'}) ET.SubElement(repo, 'arch').text = 'x86_64' self.custom_meta(ET.tostring(root)) @@ -894,8 +894,8 @@ class Project(object): :rtype: dict[str, dict or list(str) or bool] """ meta = { - 'reviewer': { 'groups': [], 'users': [] }, - 'maintainer': { 'groups': [], 'users': [] }, + 'reviewer': { 'groups': [], 'users': []}, + 'maintainer': { 'groups': [], 'users': []}, 'project_links': [], 'with_repo': False } @@ -992,7 +992,7 @@ class Package(object): if devel_project: root = ET.fromstring(meta) - ET.SubElement(root, 'devel', { 'project': devel_project }) + ET.SubElement(root, 'devel', { 'project': devel_project}) meta = ET.tostring(root) url = osc.core.make_meta_url('pkg', (self.project.name, self.name), APIURL) diff --git a/tests/check_source_tests.py b/tests/check_source_tests.py index 466aad64..76c51f42 100644 --- a/tests/check_source_tests.py +++ b/tests/check_source_tests.py @@ -33,7 +33,7 @@ class TestCheckSource(OBSLocal.TestCase): self.wf.create_group(REVIEW_TEAM) self.wf.remote_config_set( - { 'required-source-maintainer': 'Admin', 'review-team': REVIEW_TEAM } + { 'required-source-maintainer': 'Admin', 'review-team': REVIEW_TEAM} ) self.bot_user = 'factory-auto' @@ -142,7 +142,7 @@ class TestCheckSource(OBSLocal.TestCase): # Change the required maintainer self.wf.create_group(FACTORY_MAINTAINERS.replace('group:', '')) - self.wf.remote_config_set({ 'required-source-maintainer': FACTORY_MAINTAINERS }) + self.wf.remote_config_set({ 'required-source-maintainer': FACTORY_MAINTAINERS}) req = self.wf.create_submit_request(SRC_PROJECT, 'blowfish', add_commit = False) @@ -172,7 +172,7 @@ class TestCheckSource(OBSLocal.TestCase): """Accepts the request when the 'required_maintainer' is a group and is a maintainer for the project""" group_name = FACTORY_MAINTAINERS.replace('group:', '') self.wf.create_group(group_name) - self.wf.remote_config_set({ 'required-source-maintainer': FACTORY_MAINTAINERS }) + self.wf.remote_config_set({ 'required-source-maintainer': FACTORY_MAINTAINERS}) self._setup_devel_project(maintainer={'groups': [group_name]}) @@ -191,7 +191,7 @@ class TestCheckSource(OBSLocal.TestCase): # Change the required maintainer group_name = FACTORY_MAINTAINERS.replace('group:', '') self.wf.create_group(group_name) - self.wf.remote_config_set({ 'required-source-maintainer': FACTORY_MAINTAINERS }) + self.wf.remote_config_set({ 'required-source-maintainer': FACTORY_MAINTAINERS}) self.wf.create_project(SRC_PROJECT.rsplit(':', 1)[0], maintainer={'groups': [group_name]}) diff --git a/tests/factory_source_tests.py b/tests/factory_source_tests.py index ea434523..04bd91e5 100644 --- a/tests/factory_source_tests.py +++ b/tests/factory_source_tests.py @@ -153,7 +153,7 @@ class TestFactorySourceAccept(OBSLocal.TestCase): """) ]) - result = { 'status': None } + result = { 'status': None} def change_request(result, method, uri, headers): query = parse_qs(urlparse(uri).query) @@ -275,7 +275,7 @@ class TestFactorySourceAccept(OBSLocal.TestCase): """) - result = { 'factory_source_declined': None } + result = { 'factory_source_declined': None} def change_request(result, method, uri, headers): query = parse_qs(urlparse(uri).query) diff --git a/tests/maintenance_tests.py b/tests/maintenance_tests.py index 3c80810e..28654815 100644 --- a/tests/maintenance_tests.py +++ b/tests/maintenance_tests.py @@ -108,7 +108,7 @@ class TestMaintenance(OBSLocal.TestCase): """) - result = { 'devel_review_added': None } + result = { 'devel_review_added': None} def change_request(result, method, uri, headers): query = parse_qs(urlparse(uri).query) @@ -226,7 +226,7 @@ class TestMaintenance(OBSLocal.TestCase): """) - result = { 'devel_review_added': None } + result = { 'devel_review_added': None} def change_request(result, method, uri, headers): u = urlparse(uri) @@ -324,11 +324,11 @@ class TestMaintenance(OBSLocal.TestCase): """) - result = { 'factory_review_added': None } + result = { 'factory_review_added': None} def change_request(result, method, uri, headers): query = parse_qs(urlparse(uri).query) - if query == { 'cmd': ['addreview'], 'by_user': ['factory-source'] }: + if query == { 'cmd': ['addreview'], 'by_user': ['factory-source']}: result['factory_review_added'] = True return (200, headers, '') diff --git a/tests/origin_tests.py b/tests/origin_tests.py index c5da8844..a025e3f1 100644 --- a/tests/origin_tests.py +++ b/tests/origin_tests.py @@ -309,7 +309,7 @@ class TestOrigin(OBSLocal.TestCase): self.origin_config_write([ {'': {}}, {upstream1_project: {}}, - {upstream2_project: { 'pending_submission_consider': True }}, + {upstream2_project: { 'pending_submission_consider': True}}, {'*~': {}}, ], {'unknown_origin_wait': True}) @@ -385,8 +385,8 @@ class TestOrigin(OBSLocal.TestCase): attribute_value_save(self.wf.apiurl, upstream3_project, 'ApprovedRequestSource', '', 'OBS') self.origin_config_write([ - {upstream1_project: { 'automatic_updates_initial': True }}, - {upstream2_project: { 'automatic_updates_initial': True }}, + {upstream1_project: { 'automatic_updates_initial': True}}, + {upstream2_project: { 'automatic_updates_initial': True}}, {upstream3_project: {}}, ]) diff --git a/ttm/publisher.py b/ttm/publisher.py index bcdb5d3c..4dc76230 100644 --- a/ttm/publisher.py +++ b/ttm/publisher.py @@ -255,7 +255,7 @@ class ToTestPublisher(ToTestManager): return status_flag = 'published' - data = {'text': 'tag:{}:{}:{}'.format(snapshot, status_flag, status_flag) } + data = {'text': 'tag:{}:{}:{}'.format(snapshot, status_flag, status_flag)} self.openqa.openqa_request('POST', 'groups/%s/comments' % group_id, data=data) def openqa_group_id(self):