Parce que «Ça peut toujours servir»™ et que de toutes façons il y en a déjà des bouts qui sont dans le dépôt et que c'est chiant de git add -f.
Et puis bon, ça fait que 3Mo
This commit is contained in:
parent
29f50c2ed9
commit
3bde363deb
299 changed files with 17466 additions and 0 deletions
160
archive/bdd/migration.py
Executable file
160
archive/bdd/migration.py
Executable file
|
@ -0,0 +1,160 @@
|
|||
#! /usr/bin/python
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
sys.path.append('/usr/scripts/gestion')
|
||||
from ldap_crans import crans_ldap
|
||||
ldap = crans_ldap()
|
||||
|
||||
import connection
|
||||
from proprio import Proprio
|
||||
from comptes import CompteUnix
|
||||
from local import Local
|
||||
from comptes import Attribut
|
||||
from comptes import GroupeUnix
|
||||
|
||||
|
||||
adherents_ldap = ldap.search('nom=*')['adherent'] # Pour les tests, on ne selectionne que les nounous
|
||||
#adherents_ldap = []
|
||||
for adherent_ldap in adherents_ldap:
|
||||
|
||||
data = adherent_ldap._data
|
||||
|
||||
args = {}
|
||||
|
||||
args['categorie'] = u'adherent'
|
||||
args['id_ldap'] = int(adherent_ldap.id())
|
||||
args['nom'] = adherent_ldap.nom()
|
||||
args['prenom'] = adherent_ldap.prenom()
|
||||
args['titre'] = None
|
||||
args['naissance'] = None
|
||||
|
||||
|
||||
args['adresse1'] = adherent_ldap.adresse()[0]
|
||||
args['adresse2'] = adherent_ldap.adresse()[1]
|
||||
args['code_postal'] = adherent_ldap.adresse()[2]
|
||||
args['ville'] = adherent_ldap.adresse()[3]
|
||||
args['pays'] = None
|
||||
|
||||
args['telephone'] = adherent_ldap.tel()
|
||||
args['email'] = adherent_ldap.email()
|
||||
|
||||
args['etablissement'] = adherent_ldap.etudes(0)
|
||||
args['annee_etudes'] = adherent_ldap.etudes(1)
|
||||
args['filiere'] = adherent_ldap.etudes(2)
|
||||
|
||||
args['remarques'] = '\n'.join(adherent_ldap.info())
|
||||
args['fictif'] = False
|
||||
args['responsableID'] = None
|
||||
|
||||
selection = Proprio.select(Proprio.q.id_ldap == adherent_ldap.id())
|
||||
if selection.count() == 0:
|
||||
proprio_pg = Proprio(**args)
|
||||
else:
|
||||
proprio_pg = selection[0]
|
||||
proprio_pg.set(**args)
|
||||
|
||||
if 'uid' in adherent_ldap._data:
|
||||
args = {}
|
||||
args['proprioID'] = proprio_pg.id
|
||||
args['username'] = adherent_ldap.mail()
|
||||
args['passwd'] = '!'
|
||||
args['uid'] = int(adherent_ldap._data['uidNumber'][0])
|
||||
args['homedir'] = adherent_ldap._data['homeDirectory'][0]
|
||||
args['shell'] = adherent_ldap._data['loginShell'][0]
|
||||
args['gecos'] = adherent_ldap._data['gecos'][0]
|
||||
args['gid'] = 3
|
||||
args['solde'] = adherent_ldap.solde()
|
||||
|
||||
selection = CompteUnix.select(CompteUnix.q.proprioID == proprio_pg.id)
|
||||
if selection.count() == 0:
|
||||
compte_pg = CompteUnix(**args)
|
||||
else:
|
||||
compte_pg = selection[0]
|
||||
compte_pg.set(**args)
|
||||
|
||||
|
||||
for droit in adherent_ldap.droits():
|
||||
selection = Attribut.select(Attribut.q.nom == droit)
|
||||
if selection.count() == 0:
|
||||
attribut = Attribut(nom=droit)
|
||||
else:
|
||||
attribut = selection[0]
|
||||
if attribut not in compte_pg.attributs:
|
||||
compte_pg.addAttribut(attribut)
|
||||
|
||||
|
||||
print adherent_ldap.nom()
|
||||
|
||||
clubs_ldap = ldap.search('cid=*')['club'] # Pour les tests, on ne selectionne que les nounous
|
||||
for club_ldap in clubs_ldap:
|
||||
|
||||
data = club_ldap._data
|
||||
|
||||
args = {}
|
||||
|
||||
args['categorie'] = u'club'
|
||||
args['id_ldap'] = int(club_ldap.id())
|
||||
args['nom'] = club_ldap.nom()
|
||||
args['prenom'] = None
|
||||
args['titre'] = None
|
||||
args['naissance'] = None
|
||||
|
||||
|
||||
args['adresse1'] = None
|
||||
args['adresse2'] = None
|
||||
args['code_postal'] = None
|
||||
args['ville'] = None
|
||||
args['pays'] = None
|
||||
|
||||
args['telephone'] = None
|
||||
args['email'] = None
|
||||
|
||||
args['etablissement'] = None
|
||||
args['annee_etudes'] = None
|
||||
args['filiere'] = None
|
||||
|
||||
args['remarques'] = '\n'.join(club_ldap.info())
|
||||
args['fictif'] = False
|
||||
args['responsableID'] = Proprio.select(Proprio.q.id_ldap == club_ldap._data['responsable'][0])[0].id
|
||||
|
||||
selection = Proprio.select(Proprio.q.id_ldap == club_ldap.id())
|
||||
if selection.count() == 0:
|
||||
proprio_pg = Proprio(**args)
|
||||
else:
|
||||
proprio_pg = selection[0]
|
||||
proprio_pg.set(**args)
|
||||
|
||||
if 'uid' in club_ldap._data:
|
||||
args = {}
|
||||
args['proprioID'] = proprio_pg.id
|
||||
args['username'] = club_ldap._data['uid']
|
||||
args['passwd'] = '!'
|
||||
args['uid'] = int(club_ldap._data['uidNumber'][0])
|
||||
args['homedir'] = club_ldap._data['homeDirectory'][0]
|
||||
args['shell'] = club_ldap._data['loginShell'][0]
|
||||
args['gecos'] = None
|
||||
args['gid'] = 3
|
||||
args['solde'] = club_ldap.solde()
|
||||
|
||||
selection = CompteUnix.select(CompteUnix.q.proprioID == proprio_pg.id)
|
||||
if selection.count() == 0:
|
||||
compte_pg = CompteUnix(**args)
|
||||
else:
|
||||
compte_pg = selection[0]
|
||||
compte_pg.set(**args)
|
||||
|
||||
|
||||
print club_ldap.nom()
|
||||
|
||||
|
||||
|
||||
nounou = Attribut.select(Attribut.q.nom == u'Nounou')[0]
|
||||
selection = GroupeUnix.select(GroupeUnix.q.nom == 'ssh_partout')
|
||||
if selection.count() == 0:
|
||||
ssh_partout = GroupeUnix(nom='ssh_partout', gid=200, descr='Groupes des utilisateur autorises a se logger partout')
|
||||
else:
|
||||
ssh_partout = selection[0]
|
||||
if ssh_partout not in nounou.groupes_unix:
|
||||
nounou.addGroupeUnix(ssh_partout)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue