[777] CalendarServer/trunk/twistedcaldav/directory
Revision: 777 http://trac.macosforge.org/projects/calendarserver/changeset/777 Author: wsanchez@apple.com Date: 2006-12-08 16:00:01 -0800 (Fri, 08 Dec 2006) Log Message: ----------- Cleanup: - Don't call short names UIDs in XML code - pswd -> password - etc. Modified Paths: -------------- CalendarServer/trunk/twistedcaldav/directory/sqldb.py CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py CalendarServer/trunk/twistedcaldav/directory/xmlfile.py Modified: CalendarServer/trunk/twistedcaldav/directory/sqldb.py =================================================================== --- CalendarServer/trunk/twistedcaldav/directory/sqldb.py 2006-12-08 23:37:13 UTC (rev 776) +++ CalendarServer/trunk/twistedcaldav/directory/sqldb.py 2006-12-09 00:00:01 UTC (rev 777) @@ -16,7 +16,6 @@ # DRI: Cyrus Daboo, cdaboo@apple.com ## - """ SQL (sqlite) based user/group/resource directory service implementation. """ @@ -26,15 +25,15 @@ User Database: -ROW: TYPE, UID (unique), PSWD, NAME, CANPROXY +ROW: RECORD_TYPE, SHORT_NAME (unique), PASSWORD, NAME, CAN_PROXY Group Database: -ROW: GRPUID, UID +ROW: SHORT_NAME, MEMBER_SHORT_NAME CUAddress database: -ROW: CUADDR (unqiue), UID +ROW: ADDRESS (unqiue), SHORT_NAME """ @@ -58,7 +57,7 @@ """ dbType = "DIRECTORYSERVICE" dbFilename = ".db.accounts" - dbFormatVersion = "1" + dbFormatVersion = "2" def _getRealmName(self): # @@ -99,9 +98,8 @@ def listRecords(self, recordType): # Get each account record - rowiter = self._db_execute("select UID, PSWD, NAME from ACCOUNTS where TYPE = :1", recordType) - for row in rowiter: - uid = row[0] + for row in self._db_execute("select SHORT_NAME, PASSWORD, NAME from ACCOUNTS where RECORD_TYPE = :1", recordType): + shortName = row[0] password = row[1] name = row[2] members = set() @@ -109,27 +107,23 @@ calendarUserAddresses = set() # See if we have members - rowiter = self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_UID from GROUPS where GRPUID = :1", uid) - for row in rowiter: + for row in self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_SHORT_NAME from GROUPS where SHORT_NAME = :1", shortName): members.add((row[0], row[1])) # See if we are a member of a group - rowiter = self._db_execute("select GRPUID from GROUPS where MEMBER_UID = :1", uid) - for row in rowiter: + for row in self._db_execute("select SHORT_NAME from GROUPS where MEMBER_SHORT_NAME = :1", shortName): groups.add(row[0]) # Get calendar user addresses - rowiter = self._db_execute("select CUADDR from CUADDRS where UID = :1", uid) - for row in rowiter: + for row in self._db_execute("select ADDRESS from ADDRESSES where SHORT_NAME = :1", shortName): calendarUserAddresses.add(row[0]) - yield uid, password, name, members, groups, calendarUserAddresses + yield shortName, password, name, members, groups, calendarUserAddresses - def getRecord(self, recordType, uid): + def getRecord(self, recordType, shortName): # Get individual account record - rowiter = self._db_execute("select UID, PSWD, NAME from ACCOUNTS where TYPE = :1 and UID = :2", recordType, uid) result = None - for row in rowiter: + for row in self._db_execute("select SHORT_NAME, PASSWORD, NAME from ACCOUNTS where RECORD_TYPE = :1 and SHORT_NAME = :2", recordType, shortName): if result: result = None break @@ -138,7 +132,7 @@ if result is None: return None - uid = result[0] + shortName = result[0] password = result[1] name = result[2] members = set() @@ -146,65 +140,62 @@ calendarUserAddresses = set() # See if we have members - rowiter = self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_UID from GROUPS where GRPUID = :1", uid) - for row in rowiter: + for row in self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_SHORT_NAME from GROUPS where SHORT_NAME = :1", shortName): members.add((row[0], row[1])) # See if we are a member of a group - rowiter = self._db_execute("select GRPUID from GROUPS where MEMBER_UID = :1", uid) - for row in rowiter: + for row in self._db_execute("select SHORT_NAME from GROUPS where MEMBER_SHORT_NAME = :1", shortName): groups.add(row[0]) # Get calendar user addresses - rowiter = self._db_execute("select CUADDR from CUADDRS where UID = :1", uid) - for row in rowiter: + for row in self._db_execute("select ADDRESS from ADDRESSES where SHORT_NAME = :1", shortName): calendarUserAddresses.add(row[0]) - return uid, password, name, members, groups, calendarUserAddresses + return shortName, password, name, members, groups, calendarUserAddresses def _add_to_db(self, record): # Do regular account entry recordType = record.recordType - uid = record.uid + shortName = record.shortName password = record.password name = record.name canproxy = ('F', 'T')[record.canproxy] self._db_execute( """ - insert into ACCOUNTS (TYPE, UID, PSWD, NAME, CANPROXY) + insert into ACCOUNTS (RECORD_TYPE, SHORT_NAME, PASSWORD, NAME, CAN_PROXY) values (:1, :2, :3, :4, :5) - """, recordType, uid, password, name, canproxy + """, recordType, shortName, password, name, canproxy ) # Check for members for memberRecordType, memberShortName in record.members: self._db_execute( """ - insert into GROUPS (GRPUID, MEMBER_RECORD_TYPE, MEMBER_UID) + insert into GROUPS (SHORT_NAME, MEMBER_RECORD_TYPE, MEMBER_SHORT_NAME) values (:1, :2, :3) - """, uid, memberRecordType, memberShortName + """, shortName, memberRecordType, memberShortName ) # CUAddress for cuaddr in record.calendarUserAddresses: self._db_execute( """ - insert into CUADDRS (CUADDR, UID) + insert into ADDRESSES (ADDRESS, SHORT_NAME) values (:1, :2) - """, cuaddr, uid + """, cuaddr, shortName ) - def _delete_from_db(self, uid): + def _delete_from_db(self, shortName): """ Deletes the specified entry from all dbs. @param name: the name of the resource to delete. - @param uid: the uid of the resource to delete. + @param shortName: the short name of the resource to delete. """ - self._db_execute("delete from ACCOUNTS where UID = :1", uid) - self._db_execute("delete from GROUPS where GRPUID = :1", uid) - self._db_execute("delete from GROUPS where MEMBER_UID = :1", uid) - self._db_execute("delete from CUADDRS where UID = :1", uid) + self._db_execute("delete from ACCOUNTS where SHORT_NAME = :1", shortName) + self._db_execute("delete from GROUPS where SHORT_NAME = :1", shortName) + self._db_execute("delete from GROUPS where MEMBER_SHORT_NAME = :1", shortName) + self._db_execute("delete from ADDRESSES where SHORT_NAME = :1", shortName) def _db_type(self): """ @@ -228,11 +219,11 @@ q.execute( """ create table ACCOUNTS ( - TYPE text, - UID text, - PSWD text, - NAME text, - CANPROXY text(1) + RECORD_TYPE text, + SHORT_NAME text, + PASSWORD text, + NAME text, + CAN_PROXY text(1) ) """ ) @@ -243,21 +234,21 @@ q.execute( """ create table GROUPS ( - GRPUID text, + SHORT_NAME text, MEMBER_RECORD_TYPE text, - MEMBER_UID text + MEMBER_SHORT_NAME text ) """ ) # - # CUADDRS table + # ADDRESSES table # q.execute( """ - create table CUADDRS ( - CUADDR text unique, - UID text + create table ADDRESSES ( + ADDRESS text unique, + SHORT_NAME text ) """ ) Modified: CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py =================================================================== --- CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py 2006-12-08 23:37:13 UTC (rev 776) +++ CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py 2006-12-09 00:00:01 UTC (rev 777) @@ -36,7 +36,7 @@ ELEMENT_GROUP = "group" ELEMENT_RESOURCE = "resource" -ELEMENT_USERID = "uid" +ELEMENT_SHORTNAME = "uid" ELEMENT_PASSWORD = "password" ELEMENT_NAME = "name" ELEMENT_MEMBERS = "members" @@ -88,7 +88,7 @@ for recordType, shortName in group.members: item = self.items[recordType].get(shortName, None) if item is not None: - item.groups.add(group.uid) + item.groups.add(group.shortName) for child in node._get_childNodes(): if child._get_localName() in (ELEMENT_USER, ELEMENT_GROUP, ELEMENT_RESOURCE): @@ -108,10 +108,10 @@ if repeat > 1: for i in xrange(1, repeat+1): newprincipal = principal.repeat(i) - self.items[recordType][newprincipal.uid] = newprincipal + self.items[recordType][newprincipal.shortName] = newprincipal updateMembership(newprincipal) else: - self.items[recordType][principal.uid] = principal + self.items[recordType][principal.shortName] = principal updateMembership(principal) class XMLAccountRecord (object): @@ -123,7 +123,7 @@ @param recordType: record type for directory entry. """ self.recordType = recordType - self.uid = None + self.shortName = None self.password = None self.name = None self.members = set() @@ -137,10 +137,10 @@ done on them with the numeric value provided. @param ctr: an integer to substitute into text. """ - if self.uid.find("%") != -1: - uid = self.uid % ctr + if self.shortName.find("%") != -1: + shortName = self.shortName % ctr else: - uid = self.uid + shortName = self.shortName if self.password.find("%") != -1: password = self.password % ctr else: @@ -157,7 +157,7 @@ calendarUserAddresses.add(cuaddr) result = XMLAccountRecord(self.recordType) - result.uid = uid + result.shortName = shortName result.password = password result.name = name result.members = self.members @@ -167,9 +167,9 @@ def parseXML(self, node): for child in node._get_childNodes(): - if child._get_localName() == ELEMENT_USERID: + if child._get_localName() == ELEMENT_SHORTNAME: if child.firstChild is not None: - self.uid = child.firstChild.data.encode("utf-8") + self.shortName = child.firstChild.data.encode("utf-8") elif child._get_localName() == ELEMENT_PASSWORD: if child.firstChild is not None: self.password = child.firstChild.data.encode("utf-8") @@ -182,7 +182,7 @@ if child.firstChild is not None: self.calendarUserAddresses.add(child.firstChild.data.encode("utf-8")) elif child._get_localName() == ELEMENT_CANPROXY: - CalDAVResource.proxyUsers.add(self.uid) + CalDAVResource.proxyUsers.add(self.shortName) self.canproxy = True def _parseMembers(self, node): Modified: CalendarServer/trunk/twistedcaldav/directory/xmlfile.py =================================================================== --- CalendarServer/trunk/twistedcaldav/directory/xmlfile.py 2006-12-08 23:37:13 UTC (rev 776) +++ CalendarServer/trunk/twistedcaldav/directory/xmlfile.py 2006-12-09 00:00:01 UTC (rev 777) @@ -83,7 +83,7 @@ def _entriesForRecordType(self, recordType): for entry in self._accounts()[recordType].itervalues(): - yield entry.uid, entry + yield entry.shortName, entry def _accounts(self): fileInfo = (self.xmlFile.getmtime(), self.xmlFile.getsize())
participants (1)
-
source_changes@macosforge.org