[CalendarServer-changes] [777] CalendarServer/trunk/twistedcaldav/directory

source_changes at macosforge.org source_changes at macosforge.org
Fri Dec 8 16:00:01 PST 2006


Revision: 777
          http://trac.macosforge.org/projects/calendarserver/changeset/777
Author:   wsanchez at 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 at 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())

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061208/252b2111/attachment.html


More information about the calendarserver-changes mailing list