diff --git a/pyp2rpm/bin.py b/pyp2rpm/bin.py index 0297d170..1bff18c5 100644 --- a/pyp2rpm/bin.py +++ b/pyp2rpm/bin.py @@ -105,6 +105,10 @@ def get_scl_help_record(self, ctx): help='When used pyp2rpm will produce srpm instead of printing ' 'specfile into stdout.', is_flag=True) +@click.option('--skip-check', + help='When used pyp2rpm will not include test dependencies or ' + 'the %check section.', + is_flag=True) @click.option('--proxy', help='Specify proxy in the form proxy.server:port.', default=None, @@ -167,8 +171,8 @@ def get_scl_help_record(self, ctx): default=None, metavar='FILE_NAME') @click.argument('package', nargs=1) -def main(package, v, d, s, r, proxy, srpm, p, b, o, t, venv, autonc, sclize, - **scl_kwargs): +def main(package, v, d, s, r, proxy, srpm, skip_check, p, b, o, t, venv, autonc, + sclize, **scl_kwargs): """Convert PyPI package to RPM specfile or SRPM. \b @@ -203,7 +207,8 @@ def main(package, v, d, s, r, proxy, srpm, p, b, o, t, venv, autonc, sclize, rpm_name=r, proxy=proxy, venv=venv, - autonc=autonc) + autonc=autonc, + skip_check=skip_check) logger.debug( 'Convertor: {0} created. Trying to convert.'.format(convertor)) diff --git a/pyp2rpm/convertor.py b/pyp2rpm/convertor.py index 76552f51..a7058406 100644 --- a/pyp2rpm/convertor.py +++ b/pyp2rpm/convertor.py @@ -45,7 +45,8 @@ def __init__(self, package=None, version=None, distro=settings.DEFAULT_DISTRO, base_python_version=settings.DEFAULT_PYTHON_VERSION, python_versions=[], - rpm_name=None, proxy=None, venv=True, autonc=False): + rpm_name=None, proxy=None, venv=True, autonc=False, + skip_check=False): self.package = package self.version = version self.save_dir = save_dir @@ -59,6 +60,7 @@ def __init__(self, package=None, version=None, self.proxy = proxy self.venv = venv self.autonc = autonc + self.skip_check = skip_check self.pypi = True suffix = os.path.splitext(self.package)[1] if (os.path.exists(self.package) @@ -270,6 +272,7 @@ def metadata_extractor(self): self.version, self.rpm_name, self.venv, + self.skip_check, base_python_version) return self._metadata_extractor diff --git a/pyp2rpm/metadata_extractors.py b/pyp2rpm/metadata_extractors.py index b00faab6..8bb534ca 100644 --- a/pyp2rpm/metadata_extractors.py +++ b/pyp2rpm/metadata_extractors.py @@ -176,7 +176,7 @@ class LocalMetadataExtractor(object): __metaclass__ = ABCMeta def __init__(self, local_file, name, name_convertor, version, - rpm_name=None, venv=True, + rpm_name=None, venv=True, skip_check=False, base_python_version=None, metadata_extension=False): self.local_file = local_file @@ -186,6 +186,7 @@ def __init__(self, local_file, name, name_convertor, version, self.version = version self.rpm_name = rpm_name self.venv = venv + self.skip_check = skip_check self.base_python_version = base_python_version self.metadata_extension = metadata_extension self.unsupported_version = None @@ -478,8 +479,9 @@ def has_test_suite(self): Returns: True if the package contains setup.py test suite, False otherwise """ - return (self.has_test_files or self.metadata['test_suite'] or - self.metadata['tests_require'] != []) + return (self.skip_check is False and + (self.has_test_files or self.metadata['test_suite'] or + self.metadata['tests_require'] != [])) @property def doc_files(self): @@ -609,8 +611,9 @@ def license(self): @property def has_test_suite(self): - return self.has_test_files or self.json_metadata.get( - 'test_requires', False) is not False + return self.skip_check is False and ( + self.has_test_files or self.json_metadata.get( + 'test_requires', False) is not False) @property def doc_files(self):