%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 * Fri Apr 21 2023 Python_Bot - 3.0.0-1 - Package Spec generated