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