Monotone-Parent: 4d7bcac9e677fe169f33c5d75187e05adbfeb918

Monotone-Revision: e5be024d92916be1586d601d50ed79f354eda2c7

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-03-02T20:11:05
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2012-03-02 20:11:05 +00:00
parent 260263b6ec
commit 3eed4c28a3
2 changed files with 39 additions and 21 deletions

View File

@ -1,3 +1,9 @@
2012-03-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/gen-property-selectors.py: adapted for new getters
name, based on new property names. Added all new clashing
properties to bannedProps.
2012-03-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/LDAPSource.m (_convertRecordToLDAPAttributes):

View File

@ -106,12 +106,32 @@ extern const enum MAPITAGS MAPIStoreSupportedProperties[];
# hack: some properties have multiple and incompatible types. Sometimes those
# props are not related at all...
bannedProps = [ "PrBodyHtml", "PrFavAutosubfolders", "PrAttachDataObj",
"PrAclTable", "PrAclData", "PrRulesTable", "PrRulesData",
"PrDisableWinsock", "PrHierarchyServer",
"PrOfflineAddrbookEntryid", "PrShorttermEntryidFromObject",
"PrNormalMessageSizeExtended", "PrAssocMessageSizeExtended",
"PrMessageSizeExtended", "PrOabContainerGuid" ]
bannedProps = [ "PidTagBodyHtml", "PidTagFavAutosubfolders",
"PidTagAttachDataObj", "PidTagAclTable", "PidTagAclData",
"PidTagRulesTable", "PidTagRulesData", "PidTagDisableWinsock",
"PidTagHierarchyServer", "PidTagOfflineAddrbookEntryid",
"PidTagShorttermEntryidFromObject",
"PidTagNormalMessageSizeExtended",
"PidTagAssocMessageSizeExtended", "PidTagMessageSizeExtended",
"PidTagOabContainerGuid",
"PidTagOfflineAddressBookMessageClass", "PidTagScriptData",
"PidTagOfflineAddressBookTruncatedProperties",
"PidTagOfflineAddressBookContainerGuid",
"PidTagOfflineAddressBookDistinguishedName",
"PidTagOfflineAddressBookShaHash",
"PidTagSenderTelephoneNumber", "PidTagGatewayNeedsToRefresh",
"PidTagWlinkType", "PidTagWlinkFlags",
"PidTagWlinkGroupClsid", "PidTagWlinkGroupName",
"PidTagWlinkGroupHeaderID",
"PidTagScheduleInfoDelegatorWantsCopy", "PidTagWlinkOrdinal",
"PidTagWlinkSection", "PidTagWlinkCalendarColor",
"PidTagWlinkAddressBookEID", "PidTagWlinkFolderType",
"PidTagScheduleInfoDelegateNames",
"PidTagScheduleInfoDelegateEntryIds",
"PidTagBusiness2TelephoneNumbers",
"PidTagHome2TelephoneNumbers",
"PidTagAttachDataObject"
]
def ParseExchangeH(names, lines):
state = 0
@ -132,23 +152,15 @@ def ParseExchangeH(names, lines):
ParseExchangeHDefinition(names, stripped)
x = x + 1
def GenExchangeHName(startname):
parts = startname.split("_")
newParts = []
for part in parts:
newParts.append("%s%s" % (part[0].upper(), part[1:].lower()))
return "".join(newParts)
def ParseExchangeHDefinition(names, line):
stripped = line.strip()
eqIdx = stripped.find("=")
if eqIdx == -1:
raise Exception, "line does not contain a '='"
propName = GenExchangeHName(stripped[0:eqIdx])
if not propName.endswith("Error") and not propName.endswith("Unicode") \
and not propName.startswith("PrProfile") \
and propName not in bannedProps:
propName = stripped[0:eqIdx]
if not propName.endswith("_Error") and not propName.endswith("_string8") \
and propName not in bannedProps:
intIdx = stripped.find("(int", eqIdx)
valueIdx = stripped.find("0x", intIdx + 1)
endIdx = stripped.find(")", valueIdx)
@ -169,9 +181,9 @@ def ParseMapistoreNameIDHDefinition(names, line):
raise Exception, "line does not contain a 'Pid'"
valueIdx = stripped.find("0x")
propName = stripped[pidIdx:valueIdx].strip()
value = int(stripped[valueIdx:], 16)
names[propName] = value
if not propName.startswith("PidLidUnknown") and propName not in bannedProps:
value = int(stripped[valueIdx:], 16)
names[propName] = value
def FindHFile(filename):
found = None