From c53dc40fdda4ee23fa92d3fd1172eed89d4ca18e Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Dec 12 2018 16:42:11 +0000 Subject: other minor warning fixes --- diff --git a/src/FedoraReview/copr_bug.py b/src/FedoraReview/copr_bug.py index 275c425..83ac3df 100644 --- a/src/FedoraReview/copr_bug.py +++ b/src/FedoraReview/copr_bug.py @@ -35,6 +35,13 @@ from settings import Settings COPR_API_URL_TEMPLATE = 'https://copr.fedoraproject.org/api/coprs/build/{}/' +def get_build_data(build_id): + """ Fetch build data from COPR and return them as json """ + build_data_file = urllib.urlopen( + COPR_API_URL_TEMPLATE.format(build_id)) + return json.load(build_data_file) + + class CoprBug(UrlBug): """ This class is used for running review on a COPR build """ @@ -59,7 +66,7 @@ class CoprBug(UrlBug): self.copr_build_dir = os.path.join(os.getcwd(), builddir_name) try: os.makedirs(self.copr_build_dir) - except: + except os.error: self.log.error( "Build directory ./%s cannot be created or exists already.", builddir_name) @@ -120,6 +127,7 @@ class CoprBug(UrlBug): self.urlretrieve(rpm_url, rpm_path) def parse_build_id_from_uri(self, uri): + """ Get the COPR build-id from a given uri """ uri_last_part = os.path.basename(uri.strip('/')) match = re.match(r'(\d+).*', uri_last_part) if not match: @@ -127,15 +135,9 @@ class CoprBug(UrlBug): sys.exit(1) return match.group(1).lstrip('0') - def get_build_data(self, build_id): - """ Fetch build data from COPR and return them as json """ - build_data_file = urllib.urlopen( - COPR_API_URL_TEMPLATE.format(build_id)) - return json.load(build_data_file) - def get_location(self, build_id): """ Get COPR build URI """ - build_data = self.get_build_data(build_id) + build_data = get_build_data(build_id) if build_data['status'] != 'succeeded': self.log.error("Build did not succeeded in all its chroots." diff --git a/src/FedoraReview/datasrc.py b/src/FedoraReview/datasrc.py index 530ca6c..b5da0b5 100644 --- a/src/FedoraReview/datasrc.py +++ b/src/FedoraReview/datasrc.py @@ -282,14 +282,14 @@ class SourcesDataSource(AbstractDataSource): all_.extend(self.files_by_tag[key]) return all_ - def get(self, tag=None): + def get(self, key=None): ''' Return Source object bound to a Source/patch tag ''' - if not tag: - tag = 'Source0' + if not key: + key = 'Source0' self.log.warning('Retrieving default source as Source0') - if tag not in self.sources_by_tag.iterkeys(): + if key not in self.sources_by_tag.iterkeys(): return None - return self.sources_by_tag[tag] + return self.sources_by_tag[key] def get_keys(self): return self.sources_by_tag.iterkeys() diff --git a/src/FedoraReview/deps.py b/src/FedoraReview/deps.py index 826448d..20df700 100644 --- a/src/FedoraReview/deps.py +++ b/src/FedoraReview/deps.py @@ -165,8 +165,8 @@ def list_owners(paths): owners = [] paths_to_exam = list(paths) - for i in range(len(paths)): - p = subprocess.Popen(['rpm', '--qf', '%{NAME}\n', '-qf', paths[i]], + for path in paths: + p = subprocess.Popen(['rpm', '--qf', '%{NAME}\n', '-qf', path], stdout=subprocess.PIPE, stderr=subprocess.PIPE) path_owners = p.communicate()[0].split() @@ -178,7 +178,7 @@ def list_owners(paths): [p for p in path_owners if not p.startswith('error:')] if not path_owners or not path_owners[0]: continue - paths_to_exam.remove(paths[i]) + paths_to_exam.remove(path) owners.extend(path_owners) for path in paths_to_exam: cmd = ['dnf', 'repoquery', '-C', '--quiet', '--file', path] diff --git a/src/FedoraReview/mock.py b/src/FedoraReview/mock.py index 365b102..12eacc1 100644 --- a/src/FedoraReview/mock.py +++ b/src/FedoraReview/mock.py @@ -99,7 +99,7 @@ def _add_buildarch_macros(macros, paths): if set(arches) == set(['noarch']): buildarch = 'noarch' else: - buildarch = [a for a in arches if a is not 'noarch'][0] + buildarch = [a for a in arches if a != 'noarch'][0] macros['%buildarch'] = buildarch if buildarch == 'x86_64': macros['%_libdir'] = '/usr/lib64' @@ -129,8 +129,8 @@ class _Mock(HelpersMixin): macros = {} values = self._rpm_eval(tags).split() taglist = tags.split() - for i in range(0, len(taglist)): - macros[taglist[i]] = values[i] + for i, tag in enumerate(taglist): + macros[tag] = values[i] return macros def _get_prebuilt_macros(self, spec, flags): @@ -146,7 +146,7 @@ class _Mock(HelpersMixin): _arch = check_output('rpm --eval %_arch'.split()).strip() except CalledProcessError: raise ReviewError("Can't evaluate 'rpm --eval %_arch") - if buildarch is 'x86_64' and _arch is not 'x86_64': + if buildarch == 'x86_64' and _arch != 'x86_64': raise ReviewError("Can't build x86_64 on i86 host") return macros @@ -482,7 +482,7 @@ class _Mock(HelpersMixin): cmd = self._mock_cmd() rpms = filter(is_not_installed, list(set(packages))) if not rpms: - return + return None self._clear_rpm_db() cmd = self._mock_cmd() diff --git a/src/FedoraReview/rpm_file.py b/src/FedoraReview/rpm_file.py index 1df5ff8..4302ed4 100644 --- a/src/FedoraReview/rpm_file.py +++ b/src/FedoraReview/rpm_file.py @@ -85,8 +85,7 @@ class RpmFile(object): # RPMTAG_POSTTRANSPROG are given as list on F18, but not before def header_to_str(self, tag): ''' Convert header in a string, to cope with API changes in F18''' - if isinstance(self.header[tag], dict) or isinstance(self.header[tag], - list): + if isinstance(self.header[tag], (dict, list)): return ' '.join(self.header[tag]) return self.header[tag] diff --git a/src/FedoraReview/settings.py b/src/FedoraReview/settings.py index 4cc11c0..7cee774 100644 --- a/src/FedoraReview/settings.py +++ b/src/FedoraReview/settings.py @@ -56,6 +56,7 @@ def _check_mock_grp(): def _check_mock_ver(): + """ Returns mock version """ try: mock_ver = subprocess.check_output(['mock', '--version']) except subprocess.CalledProcessError: @@ -64,8 +65,9 @@ def _check_mock_ver(): def _mock_options_default(): + """ Returns the default mock options """ mock_opts = '--no-cleanup-after --no-clean' - if(version.parse(_check_mock_ver()) >= version.parse('1.4.1')): + if version.parse(_check_mock_ver()) >= version.parse('1.4.1'): mock_opts = '--no-bootstrap-chroot %s' % mock_opts return mock_opts @@ -260,6 +262,7 @@ class _Settings(object): # pylint: disable=R0902 self.uniqueext = None self.configdir = None self.log_level = None + self.prebuilt = None self.verbose = False self.name = None self.use_colors = False