Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions pyp2rpm/bin.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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))
Expand Down
5 changes: 4 additions & 1 deletion pyp2rpm/convertor.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down Expand Up @@ -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
Expand Down
13 changes: 8 additions & 5 deletions pyp2rpm/metadata_extractors.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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):
Expand Down Expand Up @@ -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):
Expand Down