From dccaa87a9d1efc0845d0db6414009c09bf4e448d Mon Sep 17 00:00:00 2001 From: Baris Metin Date: Wed, 9 Jun 2010 15:42:32 +0200 Subject: [PATCH] get encrypted password --- scripts/export-omf.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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) -- 2.43.0