accounts2 PgToLDAP.py,1.3,1.4 fedoraPerson.schema,1.5,1.6

Tom Lynema (lyz) fedora-extras-commits at redhat.com
Wed Dec 6 04:22:37 UTC 2006


Author: lyz

Update of /cvs/fedora/accounts2
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14410

Modified Files:
	PgToLDAP.py fedoraPerson.schema 
Log Message:



Index: PgToLDAP.py
===================================================================
RCS file: /cvs/fedora/accounts2/PgToLDAP.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PgToLDAP.py	1 Dec 2006 02:35:09 -0000	1.3
+++ PgToLDAP.py	6 Dec 2006 04:22:37 -0000	1.4
@@ -208,7 +208,7 @@
 
     # Copy all users from db to ldap/ldif
     # this will to queries and mappings
-    
+    """
     try:
         if verbose:
             print "Selecting all users from Postgres Database"
@@ -229,25 +229,29 @@
         if options.outType == "ldif":
             ldifWriter.unparse(dn, entry)
         else:
+		
+
             print "Adding ldif info for " + user[3] + "."
 
-	    userLdif = [["objectClass",["fedoraPerson","organizationalUnit"]] , [ "displayName",[ user[1] ] ] ] 
+	    #userLdif = [["objectClass",["fedoraPerson","organizationalUnit"]] , [ "displayName",[ user[1] ] ] ] 
+	    userLdif = [["objectClass",["fedoraPerson"]] , [ "displayName",[ user[1] ] ] ] 
 	    userLdif.append(["mail",[str(user[2])]])
+	    userLdif.append(["sn",[str(user[1])]])
 	    userLdif.append(["fedoraPersonBugzillaMail",[str(user[2])]])
 	    userLdif.append(["cn",[str(user[3])]])
 	    userLdif.append(["givenName",[str(user[3])]])
-	    userLdif.append(["userCertificate",[str(user[4])]])
+	    userLdif.append(["fedoraPersonKeyId",[str(user[4])]])
 	    userLdif.append(["fedoraPersonSshKey",[str(user[5])]])
 	    userLdif.append(["userPassword",[encode_SSHA_password(str(user[6]))]])
 	    userLdif.append(["postalAddress",[str(user[8])]])
 	    userLdif.append(["telephoneNumber",[str(user[9])]])
-	    userLdif.append(["fax",[str(user[10])]])
-	    userLdif.append(["o",[str(user[11])]]) # affiliation is set to the o -- another stretch ??
+	    userLdif.append(["fax",[str(user[10]) or "None"]])
+	    userLdif.append(["o",[str(user[11]) or "None" ]]) # affiliation is set to the o -- another stretch ??
 	    userLdif.append(["fedoraPersonCreationDate",[str(user[12])]])
 	    userLdif.append(["fedoraPersonApprovalStatus",[str(user[13])]])
 	    userLdif.append(["description",[str(user[14])]]) #this one may be a streach -- original field was internal comments
 	    userLdif.append(["fedoraPersonIrcNick",[str(user[16])]])
-	    userLdif.append(["ou",["roles"]])
+	    userLdif.append(["ou",["Roles"]])
 	   
 	    print userLdif
 	    #for userKey in userLdif.keys():
@@ -267,6 +271,8 @@
             #ldapConn.add_s(dn, entry)
 
     userCursor.close()
+
+    
     
     # Select all groups from the DB
     
@@ -313,17 +319,31 @@
 	    userLdif.append(["cn",[str(group[1])]])
 	    userLdif.append(["fedoraGroupOwner",owner]) # need to get a cn for this not just the id
 	    #userLdif.append(["groupOwner",[str(group[2])]]) # need to get a cn for this not just the id
-	    userLdif.append(["fedoraGroupType",[str(group[3])]])
+	    userLdif.append(["fedoraGroupType",[str(group[3]) or "None" ]])
+
+	    #we're using the boolean type for these.  This means they need to be converted to the TRUE and FALSE strings
+
+	    if str(group[4]) == "0" :
+		group[4]="FALSE"
+	    else:
+		group[4]="TRUE"
+
+	    if str(group[5]) == "0" :
+		group[5]="FALSE"
+	    else:
+		group[5]="TRUE"
+
+		
 	    userLdif.append(["fedoraGroupNeedsSponsor",[str(group[4])]]) #need to convert to bool
-	    userLdif.append(["fedoraGroupUserCanRemove",[str(group[5])]])
+	    userLdif.append(["fedoraGroupUserCanRemove",[str(group[5])]]) #need to convert to bool
 	    #userLdif.append(["groupPrerequisite",[str(group[6])]])
 	    #userLdif.append(["groupPrerequisite",prereq]) not currently in the schema
-	    userLdif.append(["fedoraGroupJoinMsg",[str(group[7])]])
-	    ldifWriter.unparse("cn=" + str(group[1]) +",ou=fedoraGroups,dc=fedoraproject,dc=org" , userLdif )
+	    userLdif.append(["fedoraGroupJoinMsg",[str(group[7]) or "None" ]])
+	    ldifWriter.unparse("cn=" + str(group[1]) +",ou=FedoraGroups,dc=fedoraproject,dc=org" , userLdif )
 
 
     groupCursor.close()        
-    
+    """
     # Select all roles from the DB
     
     try:
@@ -350,7 +370,7 @@
 
 
 	    uidRoleCursor = dbConn.cursor()
-            uidRoleCursor.execute ("SELECT username FROM person where id =" + str(role[0]) )
+            uidRoleCursor.execute ("SELECT human_name FROM person where id =" + str(role[0]) )
             username = uidRoleCursor.fetchone()
             uidRoleCursor.execute ("SELECT name FROM project_group where id =" + str(role[1]) )
             group = uidRoleCursor.fetchone()
@@ -372,15 +392,16 @@
   #person_id0, group_project_id1, role_type2, role_domain3, role_status4, internal_comments5, sponsor_id6, creation7, approval8
 
             roleLdif = [["objectClass",["fedoraRole"]] ] 
-	    #roleLdif.append(["cn",[str(role[1]),str(role[2])]]) #Fix me
+	    #roleLdif.append(["cn",[str(group[0]) + str(role[2])]]) #Fix me
+	    roleLdif.append(["cn",[str(group[0])]]) #Fix me
 	    roleLdif.append(["fedoraRoleType",[str(role[2])]])
-	    roleLdif.append(["fedoraRoleDomain",[str(role[3])]])
+	    roleLdif.append(["fedoraRoleDomain",[str(role[3]) or "None" ]])
 	    roleLdif.append(["fedoraRoleStatus",[str(role[4])]])
 	    roleLdif.append(["fedoraRoleSponsor",sponsor])
-	    roleLdif.append(["fedoraRoleCreationDate",[str(role[7])]])
+	    roleLdif.append(["fedoraRoleCreationDate",[str(role[7]) or "None" ]])
 	    roleLdif.append(["fedoraRoleApprovalDate",[str(role[8])]])
 
-	    ldifWriter.unparse("cn=" + group[0] + ",cn=" + str(role[2]) +",cn=" + username[0] + " ou=Roles, ou=fedoraGroups,dc=fedoraproject,dc=org" , roleLdif )
+	    ldifWriter.unparse("cn=" + group[0] + ",cn=" + str(role[2]) + ",ou=roles, cn=" + username[0] + ",ou=People,dc=fedoraproject,dc=org" , roleLdif )
 
     roleCursor.close()
       


Index: fedoraPerson.schema
===================================================================
RCS file: /cvs/fedora/accounts2/fedoraPerson.schema,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- fedoraPerson.schema	30 Nov 2006 02:57:19 -0000	1.5
+++ fedoraPerson.schema	6 Dec 2006 04:22:37 -0000	1.6
@@ -35,6 +35,14 @@
                SUBSTR caseIgnoreSubstringsMatch
                SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{50} )
 
+
+attributeType ( 2.5.444.19 NAME 'fedoraPersonKeyId'
+               DESC 'users GPG key ID'
+               EQUALITY caseIgnoreMatch
+               SUBSTR caseIgnoreSubstringsMatch
+               SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{50} )
+
+
 # fedoraPerson
 # The fedoraPerson represents people who are a member of the fedora project
 # in some way.  It is a structural class and inherits
@@ -45,5 +53,5 @@
     SUP inetOrgPerson
     STRUCTURAL
 	MUST ( fedoraPersonSshKey $ mail $ fedoraPersonCreationDate )
-	MAY  (fedoraPersonIrcNick $ fedoraPersonApprovalStatus $ fedoraPersonBugzillaMail )
+	MAY  (fedoraPersonIrcNick $ fedoraPersonApprovalStatus $ fedoraPersonBugzillaMail $ fedoraPersonKeyId )
    )




More information about the fedora-extras-commits mailing list