/opt/imh-python/lib/python3.9/site-packages
NameSizeModeActions
amqp/-0755rm
amqp-5.3.1.dist-info/-0755rm
apache_libcloud-3.1.0.dist-info/-0755rm
appdirs-1.4.4.dist-info/-0755rm
apscheduler/-0755rm
APScheduler-3.11.0.dist-info/-0755rm
arrow/-0755rm
arrow-1.2.3.dist-info/-0755rm
astroid/-0755rm
astroid-3.3.9.dist-info/-0755rm
asttokens/-0755rm
asttokens-3.0.0.dist-info/-0755rm
attr/-0755rm
attrs/-0755rm
attrs-25.3.0.dist-info/-0755rm
autocommand/-0755rm
autocommand-2.2.2.dist-info/-0755rm
automat/-0755rm
automat-25.4.16.dist-info/-0755rm
backports/-0755rm
backports.tarfile-1.2.0.dist-info/-0755rm
bakauth/-0755rm
bakauth-1.6.2.dist-info/-0755rm
bcrypt/-0755rm
bcrypt-3.2.2.dist-info/-0755rm
billiard/-0755rm
billiard-4.2.1.dist-info/-0755rm
blessings/-0755rm
blessings-1.7.dist-info/-0755rm
boto3/-0755rm
boto3-1.16.63.dist-info/-0755rm
botocore/-0755rm
botocore-1.19.63.dist-info/-0755rm
celery/-0755rm
celery-5.4.0.dist-info/-0755rm
certifi/-0755rm
certifi-2025.4.26.dist-info/-0755rm
cffi/-0755rm
cffi-1.17.1.dist-info/-0755rm
chardet/-0755rm
chardet-3.0.4.dist-info/-0755rm
cheroot/-0755rm
cheroot-10.0.1.dist-info/-0755rm
cherrypy/-0755rm
CherryPy-18.6.1.dist-info/-0755rm
cinderclient/-0755rm
click/-0755rm
click-8.1.8.dist-info/-0755rm
click_didyoumean/-0755rm
click_didyoumean-0.3.1.dist-info/-0755rm
click_plugins/-0755rm
click_plugins-1.1.1.dist-info/-0755rm
click_repl/-0755rm
click_repl-0.3.0.dist-info/-0755rm
constantly/-0755rm
constantly-23.10.4.dist-info/-0755rm
construct/-0755rm
construct-2.10.70.dist-info/-0755rm
cpapis/-0755rm
cpapis-1.0.dist-info/-0755rm
cproc/-0755rm
cproc-1.0.dist-info/-0755rm
croniter/-0755rm
croniter-2.0.1.dist-info/-0755rm
crossplane/-0755rm
crossplane-0.5.8.dist-info/-0755rm
Crypto/-0755rm
Cryptodome/-0755rm
cryptography/-0755rm
cryptography-36.0.2.dist-info/-0755rm
cwp/-0755rm
cwp-0.1.2.dist-info/-0755rm
dateutil/-0755rm
debtcollector/-0755rm
debtcollector-3.0.0.dist-info/-0755rm
decorator-5.2.1.dist-info/-0755rm
dill/-0755rm
dill-0.4.0.dist-info/-0755rm
distro/-0755rm
distro-1.9.0.dist-info/-0755rm
dns/-0755rm
dnspython-2.7.0.dist-info/-0755rm
dogpile/-0755rm
dogpile_cache-1.4.0.dist-info/-0755rm
exceptiongroup/-0755rm
exceptiongroup-1.2.2.dist-info/-0755rm
executing/-0755rm
executing-2.2.0.dist-info/-0755rm
fabric/-0755rm
fab_classic-1.19.1.dist-info/-0755rm
flask/-0755rm
Flask-1.1.2.dist-info/-0755rm
flask_apscheduler/-0755rm
Flask_APScheduler-1.11.0.dist-info/-0755rm
flask_redis/-0755rm
flask_redis-0.4.0.dist-info/-0755rm
flask_sqlalchemy/-0755rm
Flask_SQLAlchemy-2.4.4.dist-info/-0755rm
future/-0755rm
future-1.0.0.dist-info/-0755rm
gunicorn/-0755rm
gunicorn-20.0.4.dist-info/-0755rm
hyperlink/-0755rm
hyperlink-21.0.0.dist-info/-0755rm
idna/-0755rm
idna-2.10.dist-info/-0755rm
importlib_metadata/-0755rm
importlib_metadata-4.13.0.dist-info/-0755rm
incremental/-0755rm
incremental-22.10.0.dist-info/-0755rm
influxdb/-0755rm
influxdb-5.3.2.dist-info/-0755rm
IPython/-0755rm
ipython-8.18.1.dist-info/-0755rm
iso8601/-0755rm
iso8601-2.1.0.dist-info/-0755rm
isort/-0755rm
isort-6.0.1.dist-info/-0755rm
itsdangerous/-0755rm
itsdangerous-1.1.0.dist-info/-0755rm
jaraco/-0755rm
jaraco.collections-5.1.0.dist-info/-0755rm
jaraco.context-6.0.1.dist-info/-0755rm
jaraco.functools-4.1.0.dist-info/-0755rm
jaraco.text-4.0.0.dist-info/-0755rm
jedi/-0755rm
jedi-0.19.2.dist-info/-0755rm
jinja2/-0755rm
Jinja2-2.11.3.dist-info/-0755rm
jmespath/-0755rm
jmespath-0.10.0.dist-info/-0755rm
jsonpatch-1.33.dist-info/-0755rm
jsonpointer-3.0.0.dist-info/-0755rm
keystoneauth1/-0755rm
keystoneauth1-5.10.0.dist-info/-0755rm
kombu/-0755rm
kombu-5.5.3.dist-info/-0755rm
ldap/-0755rm
libcloud/-0755rm
libfuturize/-0755rm
libpasteurize/-0755rm
markupsafe/-0755rm
MarkupSafe-1.1.1.dist-info/-0755rm
matplotlib_inline/-0755rm
matplotlib_inline-0.1.7.dist-info/-0755rm
mccabe-0.7.0.dist-info/-0755rm
mdstat/-0755rm
mdstat-1.0.4.dist-info/-0755rm
meld3/-0755rm
meld3-2.0.1.dist-info/-0755rm
more_itertools/-0755rm
more_itertools-10.7.0.dist-info/-0755rm
msgpack/-0755rm
msgpack-0.6.1.dist-info/-0755rm
mtrlib/-0755rm
mtrlib-1.2.0.dist-info/-0755rm
munch/-0755rm
munch-4.0.0.dist-info/-0755rm
nacl/-0755rm
netaddr/-0755rm
netaddr-0.8.0.dist-info/-0755rm
netifaces-0.10.9.dist-info/-0755rm
netmiko/-0755rm
netmiko-3.4.0.dist-info/-0755rm
ntc_templates/-0755rm
ntc_templates-7.8.0.dist-info/-0755rm
numpy/-0755rm
numpy-1.26.0.dist-info/-0755rm
numpy.libs/-0755rm
OpenSSL/-0755rm
openstack/-0755rm
openstacksdk-0.49.0.dist-info/-0755rm
oslo.i18n-6.5.1.dist-info/-0755rm
oslo.utils-7.1.0.dist-info/-0755rm
oslo_i18n/-0755rm
oslo_utils/-0755rm
os_client_config/-0755rm
os_client_config-2.1.0.dist-info/-0755rm
os_service_types/-0755rm
os_service_types-1.7.0.dist-info/-0755rm
packaging/-0755rm
packaging-25.0.dist-info/-0755rm
paramiko/-0755rm
paramiko-3.5.1.dist-info/-0755rm
parso/-0755rm
parso-0.8.4.dist-info/-0755rm
past/-0755rm
pbr/-0755rm
pbr-6.1.1.dist-info/-0755rm
pem/-0755rm
pem-20.1.0.dist-info/-0755rm
pexpect/-0755rm
pexpect-4.9.0.dist-info/-0755rm
picotui/-0755rm
picotui-1.2.dist-info/-0755rm
pip/-0755rm
pip-25.1.1.dist-info/-0755rm
pkg_resources/-0755rm
platformdirs/-0755rm
platformdirs-4.3.7.dist-info/-0755rm
portend-3.2.0.dist-info/-0755rm
pp_api/-0755rm
pp_api-1.3.1.dist-info/-0755rm
pr2modules/-0755rm
prettytable-0.7.2.dist-info/-0755rm
prometheus_client/-0755rm
prometheus_client-0.14.1.dist-info/-0755rm
prompt_toolkit/-0755rm
prompt_toolkit-3.0.51.dist-info/-0755rm
psutil/-0755rm
psutil-5.7.3.dist-info/-0755rm
psycopg2/-0755rm
psycopg2-2.8.6.dist-info/-0755rm
ptyprocess/-0755rm
ptyprocess-0.7.0.dist-info/-0755rm
pure_eval/-0755rm
pure_eval-0.2.3.dist-info/-0755rm
pyasn1/-0755rm
pyasn1-0.6.1.dist-info/-0755rm
pyasn1_modules/-0755rm
pyasn1_modules-0.4.2.dist-info/-0755rm
pycparser/-0755rm
pycparser-2.22.dist-info/-0755rm
pycryptodome-3.9.9.dist-info/-0755rm
pycryptodomex-3.9.9.dist-info/-0755rm
pyeapi/-0755rm
pyeapi-0.8.4.dist-info/-0755rm
pygit2/-0755rm
pygit2-1.6.1.dist-info/-0755rm
pygit2.libs/-0755rm
pygments/-0755rm
pygments-2.19.1.dist-info/-0755rm
pygraph/-0755rm
PyGraph-0.3.0.dist-info/-0755rm
pyipmi/-0755rm
pylint/-0755rm
pylint-3.3.7.dist-info/-0755rm
pymysql/-0755rm
PyMySQL-1.0.3.dist-info/-0755rm
PyNaCl-1.5.0.dist-info/-0755rm
pynetbox/-0755rm
pynetbox-6.5.0.dist-info/-0755rm
pyOpenSSL-19.1.0.dist-info/-0755rm
pyparsing/-0755rm
pyparsing-3.2.3.dist-info/-0755rm
pyroute2/-0755rm
pyroute2-0.7.12.dist-info/-0755rm
pyserial-3.5.dist-info/-0755rm
pysparklines-1.4.dist-info/-0755rm
python_cinderclient-7.1.0.dist-info/-0755rm
python_crontab-2.7.1.dist-info/-0755rm
python_dateutil-2.9.0.post0.dist-info/-0755rm
python_ipmi-0.5.7.dist-info/-0755rm
python_ldap-3.3.1.dist-info/-0755rm
python_whois-0.7.3.dist-info/-0755rm
pytz/-0755rm
pytz-2025.2.dist-info/-0755rm
pyudev/-0755rm
pyudev-0.23.2.dist-info/-0755rm
PyYAML-5.4.1.dist-info/-0755rm
pyzmq-19.0.2.dist-info/-0755rm
pyzmq.libs/-0755rm
rads/-0755rm
rads-4.1.0.dist-info/-0755rm
redis/-0755rm
redis-3.5.3.dist-info/-0755rm
requests/-0755rm
requests-2.24.0.dist-info/-0755rm
requestsexceptions/-0755rm
requestsexceptions-1.4.0.dist-info/-0755rm
restic/-0755rm
restic-1.3.5.dist-info/-0755rm
s3transfer/-0755rm
s3transfer-0.3.7.dist-info/-0755rm
scp-0.15.0.dist-info/-0755rm
serial/-0755rm
service_identity/-0755rm
service_identity-23.1.0.dist-info/-0755rm
setproctitle-1.1.10.dist-info/-0755rm
setuptools/-0755rm
setuptools-57.0.0.dist-info/-0755rm
simplejson/-0755rm
simplejson-3.20.1.dist-info/-0755rm
six-1.17.0.dist-info/-0755rm
slapdtest/-0755rm
sparkline/-0755rm
sqlalchemy/-0755rm
SQLAlchemy-1.3.24.dist-info/-0755rm
stack_data/-0755rm
stack_data-0.6.3.dist-info/-0755rm
stevedore/-0755rm
stevedore-5.4.1.dist-info/-0755rm
tabulate-0.8.10.dist-info/-0755rm
tailer/-0755rm
tailer-0.4.1.dist-info/-0755rm
tempora/-0755rm
tempora-5.8.0.dist-info/-0755rm
tenacity/-0755rm
tenacity-9.1.2.dist-info/-0755rm
test/-0755rm
testdata/-0755rm
tests/-0755rm
textfsm/-0755rm
textfsm-1.1.3.dist-info/-0755rm
toml/-0755rm
toml-0.10.2.dist-info/-0755rm
tomli/-0755rm
tomli-2.2.1.dist-info/-0755rm
tomlkit/-0755rm
tomlkit-0.13.2.dist-info/-0755rm
tornado/-0755rm
tornado-6.0.4.dist-info/-0755rm
traitlets/-0755rm
traitlets-5.14.3.dist-info/-0755rm
twisted/-0755rm
Twisted-22.4.0.dist-info/-0755rm
typing_extensions-4.13.2.dist-info/-0755rm
tzdata/-0755rm
tzdata-2025.2.dist-info/-0755rm
tzlocal/-0755rm
tzlocal-5.3.1.dist-info/-0755rm
untangle-1.1.1.dist-info/-0755rm
urllib3/-0755rm
urllib3-1.25.11.dist-info/-0755rm
uWSGI-2.0.19.1.dist-info/-0755rm
version_utils/-0755rm
version_utils-0.3.2.dist-info/-0755rm
vine/-0755rm
vine-5.1.0.dist-info/-0755rm
wcwidth/-0755rm
wcwidth-0.2.13.dist-info/-0755rm
werkzeug/-0755rm
Werkzeug-2.0.3.dist-info/-0755rm
wheel/-0755rm
wheel-0.45.1.dist-info/-0755rm
whois/-0755rm
wrapt/-0755rm
wrapt-1.17.2.dist-info/-0755rm
yaml/-0755rm
zc/-0755rm
zc.lockfile-3.0.post1.dist-info/-0755rm
zipp/-0755rm
zipp-3.21.0.dist-info/-0755rm
zmq/-0755rm
zope/-0755rm
zope.interface-7.2.dist-info/-0755rm
_distutils_hack/-0755rm
_yaml/-0755rm
__pycache__/-0755rm
appdirs.py247200644editdlrm
cronlog.py37730644editdlrm
crontab.py468620644editdlrm
crontabs.py44380644editdlrm
decorator.py170670644editdlrm
distutils-precedence.pth1520644editdlrm
jsonpatch.py297780644editdlrm
jsonpointer.py106010644editdlrm
ldapurl.py125250644editdlrm
ldif.py202780644editdlrm
LICENSE6010644editdlrm
mccabe.py106540644editdlrm
netifaces.cpython-39-x86_64-linux-gnu.so245840755editdlrm
portend.py64880644editdlrm
prettytable.py542040644editdlrm
README.md31800644editdlrm
README.txt1190644editdlrm
scp.py223930644editdlrm
setproctitle.cpython-39-x86_64-linux-gnu.so239520755editdlrm
six.py347030644editdlrm
tabulate.py738890644editdlrm
typing_extensions.py1726540644editdlrm
untangle.py55350644editdlrm
uwsgidecorators.py103920644editdlrm
zc.lockfile-3.0.post1-py3.9-nspkg.pth5190644editdlrm
zope.interface-7.2-py3.9-nspkg.pth4570644editdlrm
_cffi_backend.cpython-39-x86_64-linux-gnu.so2740960755editdlrm
_ldap.cpython-39-x86_64-linux-gnu.so956320755editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/ldif.py (20278B)
""" ldif - generate and parse LDIF data (see RFC 2849) See https://www.python-ldap.org/ for details. """ from __future__ import unicode_literals __version__ = '3.3.1' __all__ = [ # constants 'ldif_pattern', # functions 'CreateLDIF','ParseLDIF', # classes 'LDIFWriter', 'LDIFParser', 'LDIFRecordList', 'LDIFCopy', ] import re from base64 import b64encode, b64decode from io import StringIO import warnings from ldap.compat import urlparse, urlopen attrtype_pattern = r'[\w;.-]+(;[\w_-]+)*' attrvalue_pattern = r'(([^,]|\\,)+|".*?")' attrtypeandvalue_pattern = attrtype_pattern + r'[ ]*=[ ]*' + attrvalue_pattern rdn_pattern = attrtypeandvalue_pattern + r'([ ]*\+[ ]*' + attrtypeandvalue_pattern + r')*[ ]*' dn_pattern = rdn_pattern + r'([ ]*,[ ]*' + rdn_pattern + r')*[ ]*' dn_regex = re.compile('^%s$' % dn_pattern) ldif_pattern = '^((dn(:|::) %(dn_pattern)s)|(%(attrtype_pattern)s(:|::) .*)$)+' % vars() MOD_OP_INTEGER = { 'add':0, # ldap.MOD_ADD 'delete':1, # ldap.MOD_DELETE 'replace':2, # ldap.MOD_REPLACE 'increment':3, # ldap.MOD_INCREMENT } MOD_OP_STR = { 0:'add',1:'delete',2:'replace',3:'increment' } CHANGE_TYPES = ['add','delete','modify','modrdn'] valid_changetype_dict = {} for c in CHANGE_TYPES: valid_changetype_dict[c]=None def is_dn(s): """ returns 1 if s is a LDAP DN """ if s=='': return 1 rm = dn_regex.match(s) return rm!=None and rm.group(0)==s SAFE_STRING_PATTERN = b'(^(\000|\n|\r| |:|<)|[\000\n\r\200-\377]+|[ ]+$)' safe_string_re = re.compile(SAFE_STRING_PATTERN) def list_dict(l): """ return a dictionary with all items of l being the keys of the dictionary """ return {i: None for i in l} class LDIFWriter: """ Write LDIF entry or change records to file object Copy LDIF input to a file output object containing all data retrieved via URLs """ def __init__(self,output_file,base64_attrs=None,cols=76,line_sep='\n'): """ output_file file object for output; should be opened in *text* mode base64_attrs list of attribute types to be base64-encoded in any case cols Specifies how many columns a line may have before it's folded into many lines. line_sep String used as line separator """ self._output_file = output_file self._base64_attrs = list_dict([a.lower() for a in (base64_attrs or [])]) self._cols = cols self._last_line_sep = line_sep self.records_written = 0 def _unfold_lines(self,line): """ Write string line as one or more folded lines """ # Check maximum line length line_len = len(line) if line_len<=self._cols: self._output_file.write(line) self._output_file.write(self._last_line_sep) else: # Fold line pos = self._cols self._output_file.write(line[0:min(line_len,self._cols)]) self._output_file.write(self._last_line_sep) while pos