Skip to content

Commit 376ec8b

Browse files
gordonmessmerevgeni
authored andcommitted
Add --skip-check option to omit test dependencies and %check section.
See fedora-python#205
1 parent eab5036 commit 376ec8b

3 files changed

Lines changed: 20 additions & 9 deletions

File tree

pyp2rpm/bin.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ def get_scl_help_record(self, ctx):
105105
help='When used pyp2rpm will produce srpm instead of printing '
106106
'specfile into stdout.',
107107
is_flag=True)
108+
@click.option('--skip-check',
109+
help='When used pyp2rpm will not include test dependencies or '
110+
'the %check section.',
111+
is_flag=True)
108112
@click.option('--proxy',
109113
help='Specify proxy in the form proxy.server:port.',
110114
default=None,
@@ -167,8 +171,8 @@ def get_scl_help_record(self, ctx):
167171
default=None,
168172
metavar='FILE_NAME')
169173
@click.argument('package', nargs=1)
170-
def main(package, v, d, s, r, proxy, srpm, p, b, o, t, venv, autonc, sclize,
171-
**scl_kwargs):
174+
def main(package, v, d, s, r, proxy, srpm, skip_check, p, b, o, t, venv, autonc,
175+
sclize, **scl_kwargs):
172176
"""Convert PyPI package to RPM specfile or SRPM.
173177
174178
\b
@@ -203,7 +207,8 @@ def main(package, v, d, s, r, proxy, srpm, p, b, o, t, venv, autonc, sclize,
203207
rpm_name=r,
204208
proxy=proxy,
205209
venv=venv,
206-
autonc=autonc)
210+
autonc=autonc,
211+
skip_check=skip_check)
207212

208213
logger.debug(
209214
'Convertor: {0} created. Trying to convert.'.format(convertor))

pyp2rpm/convertor.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ def __init__(self, package=None, version=None,
4545
distro=settings.DEFAULT_DISTRO,
4646
base_python_version=settings.DEFAULT_PYTHON_VERSION,
4747
python_versions=[],
48-
rpm_name=None, proxy=None, venv=True, autonc=False):
48+
rpm_name=None, proxy=None, venv=True, autonc=False,
49+
skip_check=False):
4950
self.package = package
5051
self.version = version
5152
self.save_dir = save_dir
@@ -59,6 +60,7 @@ def __init__(self, package=None, version=None,
5960
self.proxy = proxy
6061
self.venv = venv
6162
self.autonc = autonc
63+
self.skip_check = skip_check
6264
self.pypi = True
6365
suffix = os.path.splitext(self.package)[1]
6466
if (os.path.exists(self.package)
@@ -272,6 +274,7 @@ def metadata_extractor(self):
272274
self.version,
273275
self.rpm_name,
274276
self.venv,
277+
self.skip_check,
275278
base_python_version)
276279

277280
return self._metadata_extractor

pyp2rpm/metadata_extractors.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ class LocalMetadataExtractor(object):
177177
__metaclass__ = ABCMeta
178178

179179
def __init__(self, local_file, name, name_convertor, version,
180-
rpm_name=None, venv=True,
180+
rpm_name=None, venv=True, skip_check=False,
181181
base_python_version=None,
182182
metadata_extension=False):
183183
self.local_file = local_file
@@ -187,6 +187,7 @@ def __init__(self, local_file, name, name_convertor, version,
187187
self.version = version
188188
self.rpm_name = rpm_name
189189
self.venv = venv
190+
self.skip_check = skip_check
190191
self.base_python_version = base_python_version
191192
self.metadata_extension = metadata_extension
192193
self.unsupported_version = None
@@ -481,8 +482,9 @@ def has_test_suite(self):
481482
Returns:
482483
True if the package contains setup.py test suite, False otherwise
483484
"""
484-
return (self.has_test_files or self.metadata['test_suite'] or
485-
self.metadata['tests_require'] != [])
485+
return (self.skip_check is False and
486+
(self.has_test_files or self.metadata['test_suite'] or
487+
self.metadata['tests_require'] != []))
486488

487489
@property
488490
def doc_files(self):
@@ -612,8 +614,9 @@ def license(self):
612614

613615
@property
614616
def has_test_suite(self):
615-
return self.has_test_files or self.json_metadata.get(
616-
'test_requires', False) is not False
617+
return self.skip_check is False and (
618+
self.has_test_files or self.json_metadata.get(
619+
'test_requires', False) is not False)
617620

618621
@property
619622
def doc_files(self):

0 commit comments

Comments
 (0)