From 43a44120d038f8637689e0106984d1bb017e613d Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 9 Mar 2023 16:29:34 +0000 Subject: automatic import of python-rfc3987 --- .gitignore | 1 + python-rfc3987.spec | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 284 insertions(+) create mode 100644 python-rfc3987.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..075dc8e 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/rfc3987-1.3.8.tar.gz diff --git a/python-rfc3987.spec b/python-rfc3987.spec new file mode 100644 index 0000000..ca586bc --- /dev/null +++ b/python-rfc3987.spec @@ -0,0 +1,282 @@ +%global _empty_manifest_terminate_build 0 +Name: python-rfc3987 +Version: 1.3.8 +Release: 1 +Summary: Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987) +License: GNU GPLv3+ +URL: http://pypi.python.org/pypi/rfc3987 +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/14/bb/f1395c4b62f251a1cb503ff884500ebd248eed593f41b469f89caa3547bd/rfc3987-1.3.8.tar.gz +BuildArch: noarch + + +%description +**match** (string, rule='IRI_reference') + Convenience function for checking if `string` matches a specific rule. + Returns a match object or None:: + >>> assert match('%C7X', 'pct_encoded') is None + >>> assert match('%C7', 'pct_encoded') + >>> assert match('%c7', 'pct_encoded') +**parse** (string, rule='IRI_reference') + Parses `string` according to `rule` into a dict of subcomponents. + If `rule` is None, parse an IRI_reference `without validation + `_. + If regex_ is available, any rule is supported; with re_, `rule` must be + 'IRI_reference' or some special case thereof ('IRI', 'absolute_IRI', + 'irelative_ref', 'irelative_part', 'URI_reference', 'URI', 'absolute_URI', + 'relative_ref', 'relative_part'). :: + >>> d = parse('http://tools.ietf.org/html/rfc3986#appendix-A', + >>> assert all([ d['scheme'] == 'http', +**compose** (\*\*parts) + Returns an URI composed_ from named parts. +**resolve** (base, uriref, strict=True, return_parts=False) + Resolves_ an `URI reference` relative to a `base` URI. + `Test cases `_:: + >>> base = resolve.test_cases_base + >>> for relative, resolved in resolve.test_cases.items(): + If `return_parts` is True, returns a dict of named parts instead of + a string. + Examples:: + >>> assert resolve('urn:rootless', '../../name') == 'urn:name' + >>> assert resolve('urn:root/less', '../../name') == 'urn:/name' + >>> assert resolve('http://a/b', 'http:g') == 'http:g' + >>> assert resolve('http://a/b', 'http:g', strict=False) == 'http://a/g' +**patterns** + A dict of regular expressions with useful group names. + Compilable (with regex_ only) without need for any particular compilation + flag. +**[bmp_][u]patterns[_no_names]** + Alternative versions of `patterns`. + [u]nicode strings without group names for the re_ module. + BMP only for narrow builds. +**get_compiled_pattern** (rule, flags=0) + Returns a compiled pattern object for a rule name or template string. + Usage for validation:: + >>> uri = get_compiled_pattern('^%(URI)s$') + >>> assert uri.match('http://tools.ietf.org/html/rfc3986#appendix-A') + >>> assert not get_compiled_pattern('^%(relative_ref)s$').match('#f#g') + >>> from unicodedata import lookup + >>> smp = 'urn:' + lookup('OLD ITALIC LETTER A') # U+00010300 + >>> assert not uri.match(smp) + >>> m = get_compiled_pattern('^%(IRI)s$').match(smp) + On narrow builds, non-BMP characters are (incorrectly) excluded:: + >>> assert NARROW_BUILD == (not m) + For parsing, some subcomponents are captured in named groups (*only if* + regex_ is available, otherwise see `parse`):: + >>> match = uri.match('http://tools.ietf.org/html/rfc3986#appendix-A') + >>> d = match.groupdict() + >>> if REGEX: + >>> for r in patterns.keys(): +**format_patterns** (\*\*names) + Returns a dict of patterns (regular expressions) keyed by + `rule names for URIs`_ and `rule names for IRIs`_. + See also the module level dicts of patterns, and `get_compiled_pattern`. + To wrap a rule in a named capture group, pass it as keyword argument: + rule_name='group_name'. By default, the formatted patterns contain no + named groups. + Patterns are `str` instances (be it in python 2.x or 3.x) containing ASCII + characters only. + Caveats: + - with re_, named capture groups cannot occur on multiple branches of an + alternation + - with re_ before python 3.3, ``\u`` and ``\U`` escapes must be + preprocessed (see `issue3665 `_) + - on narrow builds, character ranges beyond BMP are not supported + +%package -n python3-rfc3987 +Summary: Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987) +Provides: python-rfc3987 +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-rfc3987 +**match** (string, rule='IRI_reference') + Convenience function for checking if `string` matches a specific rule. + Returns a match object or None:: + >>> assert match('%C7X', 'pct_encoded') is None + >>> assert match('%C7', 'pct_encoded') + >>> assert match('%c7', 'pct_encoded') +**parse** (string, rule='IRI_reference') + Parses `string` according to `rule` into a dict of subcomponents. + If `rule` is None, parse an IRI_reference `without validation + `_. + If regex_ is available, any rule is supported; with re_, `rule` must be + 'IRI_reference' or some special case thereof ('IRI', 'absolute_IRI', + 'irelative_ref', 'irelative_part', 'URI_reference', 'URI', 'absolute_URI', + 'relative_ref', 'relative_part'). :: + >>> d = parse('http://tools.ietf.org/html/rfc3986#appendix-A', + >>> assert all([ d['scheme'] == 'http', +**compose** (\*\*parts) + Returns an URI composed_ from named parts. +**resolve** (base, uriref, strict=True, return_parts=False) + Resolves_ an `URI reference` relative to a `base` URI. + `Test cases `_:: + >>> base = resolve.test_cases_base + >>> for relative, resolved in resolve.test_cases.items(): + If `return_parts` is True, returns a dict of named parts instead of + a string. + Examples:: + >>> assert resolve('urn:rootless', '../../name') == 'urn:name' + >>> assert resolve('urn:root/less', '../../name') == 'urn:/name' + >>> assert resolve('http://a/b', 'http:g') == 'http:g' + >>> assert resolve('http://a/b', 'http:g', strict=False) == 'http://a/g' +**patterns** + A dict of regular expressions with useful group names. + Compilable (with regex_ only) without need for any particular compilation + flag. +**[bmp_][u]patterns[_no_names]** + Alternative versions of `patterns`. + [u]nicode strings without group names for the re_ module. + BMP only for narrow builds. +**get_compiled_pattern** (rule, flags=0) + Returns a compiled pattern object for a rule name or template string. + Usage for validation:: + >>> uri = get_compiled_pattern('^%(URI)s$') + >>> assert uri.match('http://tools.ietf.org/html/rfc3986#appendix-A') + >>> assert not get_compiled_pattern('^%(relative_ref)s$').match('#f#g') + >>> from unicodedata import lookup + >>> smp = 'urn:' + lookup('OLD ITALIC LETTER A') # U+00010300 + >>> assert not uri.match(smp) + >>> m = get_compiled_pattern('^%(IRI)s$').match(smp) + On narrow builds, non-BMP characters are (incorrectly) excluded:: + >>> assert NARROW_BUILD == (not m) + For parsing, some subcomponents are captured in named groups (*only if* + regex_ is available, otherwise see `parse`):: + >>> match = uri.match('http://tools.ietf.org/html/rfc3986#appendix-A') + >>> d = match.groupdict() + >>> if REGEX: + >>> for r in patterns.keys(): +**format_patterns** (\*\*names) + Returns a dict of patterns (regular expressions) keyed by + `rule names for URIs`_ and `rule names for IRIs`_. + See also the module level dicts of patterns, and `get_compiled_pattern`. + To wrap a rule in a named capture group, pass it as keyword argument: + rule_name='group_name'. By default, the formatted patterns contain no + named groups. + Patterns are `str` instances (be it in python 2.x or 3.x) containing ASCII + characters only. + Caveats: + - with re_, named capture groups cannot occur on multiple branches of an + alternation + - with re_ before python 3.3, ``\u`` and ``\U`` escapes must be + preprocessed (see `issue3665 `_) + - on narrow builds, character ranges beyond BMP are not supported + +%package help +Summary: Development documents and examples for rfc3987 +Provides: python3-rfc3987-doc +%description help +**match** (string, rule='IRI_reference') + Convenience function for checking if `string` matches a specific rule. + Returns a match object or None:: + >>> assert match('%C7X', 'pct_encoded') is None + >>> assert match('%C7', 'pct_encoded') + >>> assert match('%c7', 'pct_encoded') +**parse** (string, rule='IRI_reference') + Parses `string` according to `rule` into a dict of subcomponents. + If `rule` is None, parse an IRI_reference `without validation + `_. + If regex_ is available, any rule is supported; with re_, `rule` must be + 'IRI_reference' or some special case thereof ('IRI', 'absolute_IRI', + 'irelative_ref', 'irelative_part', 'URI_reference', 'URI', 'absolute_URI', + 'relative_ref', 'relative_part'). :: + >>> d = parse('http://tools.ietf.org/html/rfc3986#appendix-A', + >>> assert all([ d['scheme'] == 'http', +**compose** (\*\*parts) + Returns an URI composed_ from named parts. +**resolve** (base, uriref, strict=True, return_parts=False) + Resolves_ an `URI reference` relative to a `base` URI. + `Test cases `_:: + >>> base = resolve.test_cases_base + >>> for relative, resolved in resolve.test_cases.items(): + If `return_parts` is True, returns a dict of named parts instead of + a string. + Examples:: + >>> assert resolve('urn:rootless', '../../name') == 'urn:name' + >>> assert resolve('urn:root/less', '../../name') == 'urn:/name' + >>> assert resolve('http://a/b', 'http:g') == 'http:g' + >>> assert resolve('http://a/b', 'http:g', strict=False) == 'http://a/g' +**patterns** + A dict of regular expressions with useful group names. + Compilable (with regex_ only) without need for any particular compilation + flag. +**[bmp_][u]patterns[_no_names]** + Alternative versions of `patterns`. + [u]nicode strings without group names for the re_ module. + BMP only for narrow builds. +**get_compiled_pattern** (rule, flags=0) + Returns a compiled pattern object for a rule name or template string. + Usage for validation:: + >>> uri = get_compiled_pattern('^%(URI)s$') + >>> assert uri.match('http://tools.ietf.org/html/rfc3986#appendix-A') + >>> assert not get_compiled_pattern('^%(relative_ref)s$').match('#f#g') + >>> from unicodedata import lookup + >>> smp = 'urn:' + lookup('OLD ITALIC LETTER A') # U+00010300 + >>> assert not uri.match(smp) + >>> m = get_compiled_pattern('^%(IRI)s$').match(smp) + On narrow builds, non-BMP characters are (incorrectly) excluded:: + >>> assert NARROW_BUILD == (not m) + For parsing, some subcomponents are captured in named groups (*only if* + regex_ is available, otherwise see `parse`):: + >>> match = uri.match('http://tools.ietf.org/html/rfc3986#appendix-A') + >>> d = match.groupdict() + >>> if REGEX: + >>> for r in patterns.keys(): +**format_patterns** (\*\*names) + Returns a dict of patterns (regular expressions) keyed by + `rule names for URIs`_ and `rule names for IRIs`_. + See also the module level dicts of patterns, and `get_compiled_pattern`. + To wrap a rule in a named capture group, pass it as keyword argument: + rule_name='group_name'. By default, the formatted patterns contain no + named groups. + Patterns are `str` instances (be it in python 2.x or 3.x) containing ASCII + characters only. + Caveats: + - with re_, named capture groups cannot occur on multiple branches of an + alternation + - with re_ before python 3.3, ``\u`` and ``\U`` escapes must be + preprocessed (see `issue3665 `_) + - on narrow builds, character ranges beyond BMP are not supported + +%prep +%autosetup -n rfc3987-1.3.8 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-rfc3987 -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot - 1.3.8-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..891b793 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +b6c4028acdc788a9ba697e1c1d6b896c rfc3987-1.3.8.tar.gz -- cgit v1.2.3