From: Baris Metin Date: Wed, 9 Jun 2010 13:42:32 +0000 (+0200) Subject: get encrypted password X-Git-Tag: foo~122 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=dccaa87a9d1efc0845d0db6414009c09bf4e448d;p=infrastructure.git get encrypted password --- diff --git a/scripts/export-omf.py b/scripts/export-omf.py index 438bc48..e3a0586 100755 --- a/scripts/export-omf.py +++ b/scripts/export-omf.py @@ -6,6 +6,18 @@ import sys import time from optparse import OptionParser +import PLC.Persons +import PLC.Methods.GetPersons + +def getPersons(filter={}): + m = PLC.Methods.GetPersons + + m.hidden_fields.remove('password') + return_fields = PLC.Persons.Person.fields.items() + return_fields = dict([f for f in return_fields if f[0] not in m.hidden_fields]) + + return m.GetPersons(api).call(api, filter, return_fields) + class OmfUserBase: def __init__ (self,filename): @@ -24,8 +36,7 @@ class OmfUserBase: print >>file, "site=%s"%sites_by_id[site_id]['name'] if 'pi' in person['roles']: print >>file, "pi=yes" - # somehow the passord information does not show up here - #print >>file, "password=%s"%person['password'] + print >>file, "password=%s"%person['password'] for key_id in person['key_ids']: print >>file, "ssh=%s"%pubkeys_by_id[key_id] @@ -42,7 +53,7 @@ class OmfUserBase: # idem for sites, keep whole site info sites_by_id = dict ( [ (s['site_id'], s ) for s in GetSites({'peer_id':None}) ] ) # - persons=GetPersons({'peer_id':None}) + persons=getPersons({'peer_id':None}) persons = sorted(persons, key=lambda(person): person['email']) for p in persons: self.save_person(fileout, p, sites_by_id, pubkeys_by_id)