get encrypted password
authorBaris Metin <Talip-Baris.Metin@sophia.inria.fr>
Wed, 9 Jun 2010 13:42:32 +0000 (15:42 +0200)
committerBaris Metin <Talip-Baris.Metin@sophia.inria.fr>
Wed, 9 Jun 2010 13:42:32 +0000 (15:42 +0200)
scripts/export-omf.py

index 438bc48..e3a0586 100755 (executable)
@@ -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)