diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-29 10:51:25 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-29 10:51:25 +0000 |
| commit | b7e95e51e91c31ccda65f2544b5ff9b58e1de680 (patch) | |
| tree | 9ead300af4b118eb69de395f3bf9287deba8e38b | |
| parent | b37d36a7a8df94a9d5d3c61f2dc731593447fd09 (diff) | |
automatic import of python-ldif
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-ldif.spec | 262 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 264 insertions, 0 deletions
@@ -0,0 +1 @@ +/ldif-4.2.0.tar.gz diff --git a/python-ldif.spec b/python-ldif.spec new file mode 100644 index 0000000..57342e3 --- /dev/null +++ b/python-ldif.spec @@ -0,0 +1,262 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ldif +Version: 4.2.0 +Release: 1 +Summary: generate and parse LDIF data (see RFC 2849). +License: BSD +URL: https://github.com/abilian/ldif +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c1/04/2db7fb27b3f98dba07f744b50a2496da8aad3f09edee5c98cc07a75b71c5/ldif-4.2.0.tar.gz +BuildArch: noarch + +Requires: python3-pip + +%description +# ldif - parse and generate LDIF data (see [RFC 2849](https://tools.ietf.org/html/rfc2849)). + + + + + + + +This is a fork of the `ldif` module from +[python-ldap](http://www.python-ldap.org/) with python3/unicode support. + +One of its benefits is that it's a pure-python package (you don't +depend on the `libldap2-dev` (or similar) package that needs to be +installed on your laptop / test machine / production server). + +See the last entry in [changelog](https://github.com/abilian/ldif/blob/main/CHANGES.rst) for a more complete list of +differences. + +This package only support Python 3 (\>= 3.7, actually). + + +## Usage + +Parse LDIF from a file (or `BytesIO`): + +```python +from ldif import LDIFParser +from pprint import pprint + +parser = LDIFParser(open("data.ldif", "rb")) +for dn, record in parser.parse(): + print('got entry record: %s' % dn) + pprint(record) +``` + +Write LDIF to a file (or `BytesIO`): + +```python +from ldif import LDIFWriter + +writer = LDIFWriter(open("data.ldif", "wb")) +writer.unparse("mail=alice@example.com", { + "cn": ["Alice Alison"], + "mail": ["alice@example.com"], + "objectclass": ["top", "person"], +}) +``` + + +## Unicode support + +The stream object that is passed to parser or writer must be an ascii +byte stream. + +The spec allows to include arbitrary data in base64 encoding or via URL. +There is no way of knowing the encoding of this data. To handle this, +there are two modes: + +By default, the `LDIFParser` will try to interpret all values as UTF-8 +and leave only the ones that fail to decode as bytes. But you can also +pass an `encoding` of `None` to the constructor, in which case the +parser will not try to do any conversion and return bytes directly. + + + +%package -n python3-ldif +Summary: generate and parse LDIF data (see RFC 2849). +Provides: python-ldif +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ldif +# ldif - parse and generate LDIF data (see [RFC 2849](https://tools.ietf.org/html/rfc2849)). + + + + + + + +This is a fork of the `ldif` module from +[python-ldap](http://www.python-ldap.org/) with python3/unicode support. + +One of its benefits is that it's a pure-python package (you don't +depend on the `libldap2-dev` (or similar) package that needs to be +installed on your laptop / test machine / production server). + +See the last entry in [changelog](https://github.com/abilian/ldif/blob/main/CHANGES.rst) for a more complete list of +differences. + +This package only support Python 3 (\>= 3.7, actually). + + +## Usage + +Parse LDIF from a file (or `BytesIO`): + +```python +from ldif import LDIFParser +from pprint import pprint + +parser = LDIFParser(open("data.ldif", "rb")) +for dn, record in parser.parse(): + print('got entry record: %s' % dn) + pprint(record) +``` + +Write LDIF to a file (or `BytesIO`): + +```python +from ldif import LDIFWriter + +writer = LDIFWriter(open("data.ldif", "wb")) +writer.unparse("mail=alice@example.com", { + "cn": ["Alice Alison"], + "mail": ["alice@example.com"], + "objectclass": ["top", "person"], +}) +``` + + +## Unicode support + +The stream object that is passed to parser or writer must be an ascii +byte stream. + +The spec allows to include arbitrary data in base64 encoding or via URL. +There is no way of knowing the encoding of this data. To handle this, +there are two modes: + +By default, the `LDIFParser` will try to interpret all values as UTF-8 +and leave only the ones that fail to decode as bytes. But you can also +pass an `encoding` of `None` to the constructor, in which case the +parser will not try to do any conversion and return bytes directly. + + + +%package help +Summary: Development documents and examples for ldif +Provides: python3-ldif-doc +%description help +# ldif - parse and generate LDIF data (see [RFC 2849](https://tools.ietf.org/html/rfc2849)). + + + + + + + +This is a fork of the `ldif` module from +[python-ldap](http://www.python-ldap.org/) with python3/unicode support. + +One of its benefits is that it's a pure-python package (you don't +depend on the `libldap2-dev` (or similar) package that needs to be +installed on your laptop / test machine / production server). + +See the last entry in [changelog](https://github.com/abilian/ldif/blob/main/CHANGES.rst) for a more complete list of +differences. + +This package only support Python 3 (\>= 3.7, actually). + + +## Usage + +Parse LDIF from a file (or `BytesIO`): + +```python +from ldif import LDIFParser +from pprint import pprint + +parser = LDIFParser(open("data.ldif", "rb")) +for dn, record in parser.parse(): + print('got entry record: %s' % dn) + pprint(record) +``` + +Write LDIF to a file (or `BytesIO`): + +```python +from ldif import LDIFWriter + +writer = LDIFWriter(open("data.ldif", "wb")) +writer.unparse("mail=alice@example.com", { + "cn": ["Alice Alison"], + "mail": ["alice@example.com"], + "objectclass": ["top", "person"], +}) +``` + + +## Unicode support + +The stream object that is passed to parser or writer must be an ascii +byte stream. + +The spec allows to include arbitrary data in base64 encoding or via URL. +There is no way of knowing the encoding of this data. To handle this, +there are two modes: + +By default, the `LDIFParser` will try to interpret all values as UTF-8 +and leave only the ones that fail to decode as bytes. But you can also +pass an `encoding` of `None` to the constructor, in which case the +parser will not try to do any conversion and return bytes directly. + + + +%prep +%autosetup -n ldif-4.2.0 + +%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-ldif -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 4.2.0-1 +- Package Spec generated @@ -0,0 +1 @@ +4c991b831c4861fcd3e940d347d98717 ldif-4.2.0.tar.gz |
