%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