[crans_utils, lc_ldap] Méthode pour récupérer les machines ldap correspondant à la machine physique locale
This commit is contained in:
parent
d6d9f84076
commit
067459eb44
3 changed files with 25 additions and 4 deletions
|
@ -45,6 +45,7 @@ sys.path.append('/usr/scripts/gestion')
|
||||||
import config
|
import config
|
||||||
from unicodedata import normalize
|
from unicodedata import normalize
|
||||||
import subprocess
|
import subprocess
|
||||||
|
from netifaces import interfaces, ifaddresses, AF_INET
|
||||||
|
|
||||||
DEVNULL = open(os.devnull, 'w')
|
DEVNULL = open(os.devnull, 'w')
|
||||||
|
|
||||||
|
@ -292,3 +293,14 @@ def fetch_cert_info(x509):
|
||||||
for ext in x509.get_extensions():
|
for ext in x509.get_extensions():
|
||||||
do_ext(data, ext)
|
do_ext(data, ext)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
def ip4_addresses():
|
||||||
|
"""Renvois la liste des ipv4 de la machine physique courante"""
|
||||||
|
ip_list = []
|
||||||
|
for interface in interfaces():
|
||||||
|
if interface!='lo' and AF_INET in ifaddresses(interface).keys():
|
||||||
|
for link in ifaddresses(interface)[AF_INET]:
|
||||||
|
ip_list.append(link['addr'])
|
||||||
|
return ip_list
|
||||||
|
|
||||||
|
|
10
lc_ldap.py
10
lc_ldap.py
|
@ -553,3 +553,13 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
||||||
return [attributs.soi]
|
return [attributs.soi]
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def get_local_machines(self, mode='ro'):
|
||||||
|
filter=""
|
||||||
|
for ip in set(crans_utils.ip4_addresses()):
|
||||||
|
filter+=u'(ipHostNumber=%s)' % ip
|
||||||
|
filter = u"(|%s)" % filter
|
||||||
|
return self.search(filter, mode=mode)
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ current_user = os.getenv("SUDO_USER") or os.getenv("USER") or os.getenv("LOGNAME
|
||||||
if isinstance(current_user, str):
|
if isinstance(current_user, str):
|
||||||
current_user = current_user.decode("utf-8")
|
current_user = current_user.decode("utf-8")
|
||||||
|
|
||||||
|
|
||||||
def lc_ldap(*args, **kwargs):
|
def lc_ldap(*args, **kwargs):
|
||||||
"""Renvoie une connexion à la base LDAP."""
|
"""Renvoie une connexion à la base LDAP."""
|
||||||
return module_qui_a_le_meme_nom_que_sa_classe_principale.lc_ldap(*args, **kwargs)
|
return module_qui_a_le_meme_nom_que_sa_classe_principale.lc_ldap(*args, **kwargs)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue