forked from pool/python-requirements-parser
- update to 0.5.0:
* Support all documented options in requirements files #62 * Library is now typed according to PEP561 (`0e1bb6a`) * Readthedocs config (`ac1e7fb`) * Added some typing (`169ff6e`) * Removed Python 2 code (`82f9473`) * Removed version from __init__ (`4e83b9d`) - drop 0001-Dont-fail-with-valid-options-in-requirements_txt-files.patch, remove-nose.patch: upstream - add dont-install-readme.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-requirements-parser?expand=0&rev=18
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
From fd172ae6faf56f3d221666fb336e84df01d8b943 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Larrosa <alarrosa@suse.com>
|
||||
Date: Wed, 15 Apr 2020 11:40:47 +0200
|
||||
Subject: [PATCH] Don't fail with valid options in requirements.txt files
|
||||
|
||||
When parsing requirements.txt files, a number of options can be used
|
||||
that shouldn't make the parser fail. The list of options can
|
||||
be seen at:
|
||||
|
||||
https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
|
||||
---
|
||||
requirements/parser.py | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/requirements/parser.py b/requirements/parser.py
|
||||
index 024c905..1bb66f5 100644
|
||||
--- a/requirements/parser.py
|
||||
+++ b/requirements/parser.py
|
||||
@@ -46,5 +46,20 @@ def parse(reqstr):
|
||||
elif line.startswith('-Z') or line.startswith('--always-unzip'):
|
||||
warnings.warn('Unused option --always-unzip. Skipping.')
|
||||
continue
|
||||
+ elif line.startswith('-c') or line.startswith('--constraint'):
|
||||
+ warnings.warn('--constraint option not supported. Skipping.')
|
||||
+ continue
|
||||
+ elif line.startswith('--no-binary') or line.startswith('--only-binary'):
|
||||
+ warnings.warn('--no-binary and --only-binary options not supported. Skipping.')
|
||||
+ continue
|
||||
+ elif line.startswith('--require-hashes'):
|
||||
+ warnings.warn('Unused option --require-hashes. Skipping.')
|
||||
+ continue
|
||||
+ elif line.startswith('--pre'):
|
||||
+ warnings.warn('Unused option --pre. Skipping.')
|
||||
+ continue
|
||||
+ elif line.startswith('--trusted-host'):
|
||||
+ warnings.warn('Unused option --trusted-host. Skipping.')
|
||||
+ continue
|
||||
else:
|
||||
yield Requirement.parse(line)
|
16
dont-install-readme.patch
Normal file
16
dont-install-readme.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Index: requirements-parser-0.5.0/pyproject.toml
|
||||
===================================================================
|
||||
--- requirements-parser-0.5.0.orig/pyproject.toml
|
||||
+++ requirements-parser-0.5.0/pyproject.toml
|
||||
@@ -21,11 +21,6 @@ repository = "https://github.com/madpah/
|
||||
packages = [
|
||||
{ include = "requirements" }
|
||||
]
|
||||
-include = [
|
||||
- "AUTHORS.rst",
|
||||
- "LICENSE",
|
||||
- "README.md"
|
||||
-]
|
||||
classifiers = [
|
||||
# Trove classifiers - https://packaging.python.org/specifications/core-metadata/#metadata-classifier
|
||||
# Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
@@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 27 16:21:19 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 0.5.0:
|
||||
* Support all documented options in requirements files #62
|
||||
* Library is now typed according to PEP561 (`0e1bb6a`)
|
||||
* Readthedocs config (`ac1e7fb`)
|
||||
* Added some typing (`169ff6e`)
|
||||
* Removed Python 2 code (`82f9473`)
|
||||
* Removed version from __init__ (`4e83b9d`)
|
||||
- drop
|
||||
0001-Dont-fail-with-valid-options-in-requirements_txt-files.patch,
|
||||
remove-nose.patch: upstream
|
||||
- add dont-install-readme.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 5 11:15:29 UTC 2023 - Johannes Kastl <kastl@b1-systems.de>
|
||||
|
||||
|
@@ -18,46 +18,45 @@
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-requirements-parser
|
||||
Version: 0.2.0
|
||||
Version: 0.5.0
|
||||
Release: 0
|
||||
Summary: Pip requirement file parser
|
||||
License: BSD-2-Clause
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/davidfischer/requirements-parser
|
||||
Source: https://github.com/davidfischer/requirements-parser/archive/v%{version}.tar.gz#/requirements-parser-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM 0001-Dont-fail-with-valid-options-in-requirements_txt-files.patch alarrosa@suse.com -- https://github.com/davidfischer/requirements-parser/pull/47
|
||||
Patch0: 0001-Dont-fail-with-valid-options-in-requirements_txt-files.patch
|
||||
Patch1: remove-nose.patch
|
||||
BuildRequires: %{python_module setuptools}
|
||||
Patch1: dont-install-readme.patch
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module poetry-core}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: python-rpm-macros
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module pytest}
|
||||
# /SECTION
|
||||
BuildRequires: fdupes
|
||||
BuildArch: noarch
|
||||
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
A Pip requirement file parser.
|
||||
|
||||
%prep
|
||||
%setup -q -n requirements-parser-%{version}
|
||||
%autopatch -p1
|
||||
%autosetup -p1 -n requirements-parser-%{version}
|
||||
|
||||
%build
|
||||
%python_build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
%pytest
|
||||
|
||||
%files %{python_files}
|
||||
%doc AUTHORS.rst README.rst docs/*.rst
|
||||
%license LICENSE.rst
|
||||
%{python_sitelib}/*
|
||||
%license LICENSE
|
||||
%doc AUTHORS.rst README.md
|
||||
%{python_sitelib}/requirements
|
||||
%{python_sitelib}/requirements_parser-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
|
@@ -1,44 +0,0 @@
|
||||
Index: requirements-parser-0.2.0/tests/test_parser.py
|
||||
===================================================================
|
||||
--- requirements-parser-0.2.0.orig/tests/test_parser.py
|
||||
+++ requirements-parser-0.2.0/tests/test_parser.py
|
||||
@@ -1,6 +1,6 @@
|
||||
import os
|
||||
import json
|
||||
-from nose.tools import raises, assert_equal
|
||||
+from pytest import raises
|
||||
import warnings
|
||||
|
||||
from requirements import parse
|
||||
@@ -32,17 +32,17 @@ def test_requirement_files():
|
||||
return f
|
||||
|
||||
@fancy
|
||||
- @raises(ValueError)
|
||||
def check_fail(s):
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter("ignore")
|
||||
- list([dict(r) for r in parse(s)])
|
||||
+ with raises(ValueError):
|
||||
+ list([dict(r) for r in parse(s)])
|
||||
|
||||
@fancy
|
||||
def check(s, expected):
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter("ignore")
|
||||
- assert_equal(listify(dict(r) for r in parse(s)), expected)
|
||||
+ assert listify(dict(r) for r in parse(s)) == expected
|
||||
|
||||
fp = os.path.join(REQFILE_DIR, fn)
|
||||
|
||||
@@ -51,8 +51,8 @@ def test_requirement_files():
|
||||
continue
|
||||
|
||||
if 'fail' in fn:
|
||||
- yield check_fail, open(fp)
|
||||
+ check_fail(open(fp))
|
||||
else:
|
||||
with open(fp[:-4] + '.expected', 'r') as f2:
|
||||
expected = json.loads(f2.read())
|
||||
- yield check, open(fp), expected
|
||||
+ check(open(fp), expected)
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e2484f866684f732ac7ee829042ee8884835dec394acf6573d339fddb6f15ac7
|
||||
size 20070
|
3
requirements-parser-0.5.0.tar.gz
Normal file
3
requirements-parser-0.5.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:49dd8e415d7402eda2dffd31b73abee691de040470de1dbb2ebfb3ce16dd7c22
|
||||
size 37457
|
Reference in New Issue
Block a user