diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 13:30:02 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 13:30:02 +0000 |
commit | b59fe3bd3e9effd0be835c2d88e8aa12da37ea61 (patch) | |
tree | e64489f591d3d079f8cd32fc1c815e579588f738 | |
parent | 73ce75d1e1316c151cfb4c1fad2fc2a54bcc989a (diff) |
automatic import of python-ldappool
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-ldappool.spec | 224 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 226 insertions, 0 deletions
@@ -0,0 +1 @@ +/ldappool-3.0.0.tar.gz diff --git a/python-ldappool.spec b/python-ldappool.spec new file mode 100644 index 0000000..11491b2 --- /dev/null +++ b/python-ldappool.spec @@ -0,0 +1,224 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ldappool +Version: 3.0.0 +Release: 1 +Summary: A simple connector pool for python-ldap. +License: Mozilla Public License 2.0 (MPL 2.0) +URL: https://opendev.org/openstack/ldappool +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d8/9b/8c36ccbfd74a32625d7fc0cfe9d3bc71d60237d98fa68e2de2d44359a2bf/ldappool-3.0.0.tar.gz +BuildArch: noarch + +Requires: python3-PrettyTable +Requires: python3-ldap + +%description +A simple connector pool for python-ldap. +The pool keeps LDAP connectors alive and let you reuse them, +drastically reducing the time spent to initiate a ldap connection. +The pool has useful features like: +- transparent reconnection on failures or server restarts +- configurable pool size and connectors timeouts +- configurable max lifetime for connectors +- a context manager to simplify acquiring and releasing a connector +**You need python-ldap in order to use this library** +Quickstart +To work with the pool, you just need to create it, then use it as a +context manager with the *connection* method:: + from ldappool import ConnectionManager + cm = ConnectionManager('ldap://localhost') + with cm.connection('uid=adminuser,ou=logins,dc=mozilla', 'password') as conn: +The connector returned by *connection* is a LDAPObject, that's binded to the +server. See https://pypi.org/project/python-ldap/ for details on how to use a connector. +It is possible to check the state of the pool by representing the pool as a string:: + from ldappool import ConnectionManager + cm = ConnectionManager('ldap://localhost', size=2) + print(cm) +This will result in output similar to this table:: + +--------------+-----------+----------+------------------+--------------------+------------------------------+ + | Slot (2 max) | Connected | Active | URI | Lifetime (600 max) | Bind DN | + +--------------+-----------+----------+------------------+--------------------+------------------------------+ + | 1 | connected | inactive | ldap://localhost | 0.00496101379395 | uid=tuser,dc=example,dc=test | + | 2 | connected | inactive | ldap://localhost | 0.00532603263855 | uid=tuser,dc=example,dc=test | + +--------------+-----------+----------+------------------+--------------------+------------------------------+ +ConnectionManager options +Here are the options you can use when instanciating the pool: +- **uri**: ldap server uri **[mandatory]** +- **bind**: default bind that will be used to bind a connector. + **default: None** +- **passwd**: default password that will be used to bind a connector. + **default: None** +- **size**: pool size. **default: 10** +- **retry_max**: number of attempts when a server is down. **default: 3** +- **retry_delay**: delay in seconds before a retry. **default: .1** +- **use_tls**: activate TLS when connecting. **default: False** +- **timeout**: connector timeout. **default: -1** +- **use_pool**: activates the pool. If False, will recreate a connector + each time. **default: True** +The **uri** option will accept a comma or whitespace separated list of LDAP +server URIs to allow for failover behavior when connection errors are +encountered. Connections will be attempted against the servers in order, +with **retry_max** attempts per URI before failing over to the next server. +The **connection** method takes two options: +- **bind**: bind used to connect. If None, uses the pool default's. + **default: None** +- **passwd**: password used to connect. If None, uses the pool default's. + **default: None** + +%package -n python3-ldappool +Summary: A simple connector pool for python-ldap. +Provides: python-ldappool +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ldappool +A simple connector pool for python-ldap. +The pool keeps LDAP connectors alive and let you reuse them, +drastically reducing the time spent to initiate a ldap connection. +The pool has useful features like: +- transparent reconnection on failures or server restarts +- configurable pool size and connectors timeouts +- configurable max lifetime for connectors +- a context manager to simplify acquiring and releasing a connector +**You need python-ldap in order to use this library** +Quickstart +To work with the pool, you just need to create it, then use it as a +context manager with the *connection* method:: + from ldappool import ConnectionManager + cm = ConnectionManager('ldap://localhost') + with cm.connection('uid=adminuser,ou=logins,dc=mozilla', 'password') as conn: +The connector returned by *connection* is a LDAPObject, that's binded to the +server. See https://pypi.org/project/python-ldap/ for details on how to use a connector. +It is possible to check the state of the pool by representing the pool as a string:: + from ldappool import ConnectionManager + cm = ConnectionManager('ldap://localhost', size=2) + print(cm) +This will result in output similar to this table:: + +--------------+-----------+----------+------------------+--------------------+------------------------------+ + | Slot (2 max) | Connected | Active | URI | Lifetime (600 max) | Bind DN | + +--------------+-----------+----------+------------------+--------------------+------------------------------+ + | 1 | connected | inactive | ldap://localhost | 0.00496101379395 | uid=tuser,dc=example,dc=test | + | 2 | connected | inactive | ldap://localhost | 0.00532603263855 | uid=tuser,dc=example,dc=test | + +--------------+-----------+----------+------------------+--------------------+------------------------------+ +ConnectionManager options +Here are the options you can use when instanciating the pool: +- **uri**: ldap server uri **[mandatory]** +- **bind**: default bind that will be used to bind a connector. + **default: None** +- **passwd**: default password that will be used to bind a connector. + **default: None** +- **size**: pool size. **default: 10** +- **retry_max**: number of attempts when a server is down. **default: 3** +- **retry_delay**: delay in seconds before a retry. **default: .1** +- **use_tls**: activate TLS when connecting. **default: False** +- **timeout**: connector timeout. **default: -1** +- **use_pool**: activates the pool. If False, will recreate a connector + each time. **default: True** +The **uri** option will accept a comma or whitespace separated list of LDAP +server URIs to allow for failover behavior when connection errors are +encountered. Connections will be attempted against the servers in order, +with **retry_max** attempts per URI before failing over to the next server. +The **connection** method takes two options: +- **bind**: bind used to connect. If None, uses the pool default's. + **default: None** +- **passwd**: password used to connect. If None, uses the pool default's. + **default: None** + +%package help +Summary: Development documents and examples for ldappool +Provides: python3-ldappool-doc +%description help +A simple connector pool for python-ldap. +The pool keeps LDAP connectors alive and let you reuse them, +drastically reducing the time spent to initiate a ldap connection. +The pool has useful features like: +- transparent reconnection on failures or server restarts +- configurable pool size and connectors timeouts +- configurable max lifetime for connectors +- a context manager to simplify acquiring and releasing a connector +**You need python-ldap in order to use this library** +Quickstart +To work with the pool, you just need to create it, then use it as a +context manager with the *connection* method:: + from ldappool import ConnectionManager + cm = ConnectionManager('ldap://localhost') + with cm.connection('uid=adminuser,ou=logins,dc=mozilla', 'password') as conn: +The connector returned by *connection* is a LDAPObject, that's binded to the +server. See https://pypi.org/project/python-ldap/ for details on how to use a connector. +It is possible to check the state of the pool by representing the pool as a string:: + from ldappool import ConnectionManager + cm = ConnectionManager('ldap://localhost', size=2) + print(cm) +This will result in output similar to this table:: + +--------------+-----------+----------+------------------+--------------------+------------------------------+ + | Slot (2 max) | Connected | Active | URI | Lifetime (600 max) | Bind DN | + +--------------+-----------+----------+------------------+--------------------+------------------------------+ + | 1 | connected | inactive | ldap://localhost | 0.00496101379395 | uid=tuser,dc=example,dc=test | + | 2 | connected | inactive | ldap://localhost | 0.00532603263855 | uid=tuser,dc=example,dc=test | + +--------------+-----------+----------+------------------+--------------------+------------------------------+ +ConnectionManager options +Here are the options you can use when instanciating the pool: +- **uri**: ldap server uri **[mandatory]** +- **bind**: default bind that will be used to bind a connector. + **default: None** +- **passwd**: default password that will be used to bind a connector. + **default: None** +- **size**: pool size. **default: 10** +- **retry_max**: number of attempts when a server is down. **default: 3** +- **retry_delay**: delay in seconds before a retry. **default: .1** +- **use_tls**: activate TLS when connecting. **default: False** +- **timeout**: connector timeout. **default: -1** +- **use_pool**: activates the pool. If False, will recreate a connector + each time. **default: True** +The **uri** option will accept a comma or whitespace separated list of LDAP +server URIs to allow for failover behavior when connection errors are +encountered. Connections will be attempted against the servers in order, +with **retry_max** attempts per URI before failing over to the next server. +The **connection** method takes two options: +- **bind**: bind used to connect. If None, uses the pool default's. + **default: None** +- **passwd**: password used to connect. If None, uses the pool default's. + **default: None** + +%prep +%autosetup -n ldappool-3.0.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-ldappool -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 3.0.0-1 +- Package Spec generated @@ -0,0 +1 @@ +edce06b459ebbe8123715dd8e82e5232 ldappool-3.0.0.tar.gz |