def clean_alias2(self): alias = self.cleaned_data['alias2'].lower() if alias != '': if re.search(r'^[a-z][a-z0-9-]{0,23}[a-z0-9]$', alias) is None: raise forms.ValidationError("L'alias {} ne correspond pas à la forme attendue.".format(alias)) else: if re.search(r'enst-bretagne', alias): raise forms.ValidationError("L'alias ne doit pas contenir le nom de l'école.") if re.search(r'resel', alias): raise forms.ValidationError("L'alias ne doit pas contenir le nom resel.") if search("ou=machines,dc=resel,dc=enst-bretagne,dc=fr", "(|(host={})(hostAlias={}))".format(alias, alias)) is not None: raise forms.ValidationError("L'alias choisi est déjà utilisé pour une machine de notre réseau.") else: alias = None return alias
def clean_alias2(self): alias = self.cleaned_data['alias2'].lower() if alias != '': if re.search(r'^[a-z][a-z0-9-]{0,23}[a-z0-9]$', alias) is None: raise forms.ValidationError("The chosen alias {} does not match with the expected pattern.".format(alias)) else: if re.search(r'enst-bretagne', alias): raise forms.ValidationError("The alias can't contain enst-bretagne.") if re.search(r'resel', alias): raise forms.ValidationError("The alias can't contain resel.") if search("ou=machines,dc=resel,dc=enst-bretagne,dc=fr", "(hostAlias={})".format(alias)) is not None: raise forms.ValidationError("The chosen alias {} already exists".format(alias)) else: alias = None return alias
def get_free_ip(low, high): """ Récupère une IP libre pour une nouvelle machine à partir du LDAP """ rang = low - 1 again = True while ((rang < high) and again): rang += 1 item = 2 while ((item < 254) and again): item +=1 if search("ou=machines,dc=resel,dc=enst-bretagne,dc=fr", "(ipHostNumber={}.{})".format(rang, item)) is None: again = False return "{}.{}".format(rang, item)