See ChangeLog

Monotone-Parent: ca2ee94c72bc7929077ce2d18873be1f59a198d9
Monotone-Revision: 55a3e83df8d5652ae3ebeec99432c0ae7f1e8c29

Monotone-Author: crobert@inverse.ca
Monotone-Date: 2009-10-07T19:11:01
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
C Robert
2009-10-07 19:11:01 +00:00
parent 04b94ea130
commit 59a851ccd0
3 changed files with 25 additions and 32 deletions
+14 -11
View File
@@ -5,17 +5,9 @@
to regroup code.
* Tests/test-maildav.py (testREPORTMailQuery): Disabled a few tests that
don't pass for now.
2009-10-06 Cyril Robert <crobert@inverse.ca>
* SoObjects/Mailer/EOQualifier+MailDAV.m (_formattedDate:): New method to
format a date correctly for imap search qualifiers.
(buildQualifierFromFilters:): Fixed selectors in qualifier strings, and
fixed date formatting.
* SoObjects/Mailer/SOGoMailFolder.m
(_fetchMessageProperties:matchingQualifier:andSorting:): Implementation.
(_davPropstatsWithProperties:andMethodSelectors:fromMessage:): Implementation.
(_appendProperties:fromMessages:toResponse:): Implementation.
* SoObjects/Mailer/EOQualifier+MailDAV.m (buildQualifierFromFilters:):
Removed, everything is now done in (qualifierFromMailDAVMailFilters:).
(qualifierFromMailDAVMailFilters:): Removed all parentheses in qualifier.
2009-10-07 Francis Lachapelle <flachapelle@inverse.ca>
@@ -31,6 +23,17 @@
When such id is found, it is also reported in the logs to inform
the administrator of this inconsistency.
2009-10-06 Cyril Robert <crobert@inverse.ca>
* SoObjects/Mailer/EOQualifier+MailDAV.m (_formattedDate:): New method to
format a date correctly for imap search qualifiers.
(buildQualifierFromFilters:): Fixed selectors in qualifier strings, and
fixed date formatting.
* SoObjects/Mailer/SOGoMailFolder.m
(_fetchMessageProperties:matchingQualifier:andSorting:): Implementation.
(_davPropstatsWithProperties:andMethodSelectors:fromMessage:): Implementation.
(_appendProperties:fromMessages:toResponse:): Implementation.
2009-10-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Mailer/SOGoMailFolder.m (_appendMessageData:usingId):
+9 -19
View File
@@ -35,7 +35,7 @@
@implementation EOQualifier (SOGoMailDAVExtension)
+ (EOQualifier *) buildQualifierFromFilters: (DOMElement *) mailFilters
+ (id) qualifierFromMailDAVMailFilters: (DOMElement *) mailFilters
{
NSMutableArray *args, *formats;
NSArray *flags, *strings, *dates;
@@ -79,13 +79,13 @@
if (endDate && [startDate isEqual: endDate])
{
[formats addObject: [NSString stringWithFormat:
@"(%@ = %%@", tagName]];
@"%@ = %%@", tagName]];
datesAreEqual = YES;
}
else
{
[formats addObject: [NSString stringWithFormat:
@"(%@ > %%@", tagName]];
@"%@ > %%@", tagName]];
datesAreEqual = NO;
}
[args addObject: startDate];
@@ -93,7 +93,7 @@
if (endDate && !datesAreEqual)
{
[formats addObject: [NSString stringWithFormat:
@"(%@ < %%@", tagName]];
@"%@ < %%@", tagName]];
[args addObject: endDate];
}
}
@@ -112,7 +112,7 @@
if (!valueB)
valueB = @"*";
[formats addObject: @"(uid = %@)"];
[formats addObject: @"uid = %@"];
[args addObject: [NSString stringWithFormat: @"%@:%@",
valueA, valueB]];
}
@@ -122,20 +122,20 @@
valueA = [current attribute: @"min"];
if (valueA)
{
[formats addObject: @"(size > %@)"];
[formats addObject: @"size > %@"];
[args addObject: valueA];
}
valueA = [current attribute: @"max"];
if (valueA)
{
[formats addObject: @"(size < %@)"];
[formats addObject: @"size < %@"];
[args addObject: valueA];
}
}
// All flags
else if ([flags containsObject: tagName])
{
[formats addObject: @"(flags doesContain: %@)"];
[formats addObject: @"flags doesContain: %@"];
[args addObject: tagName];
}
// All strings
@@ -145,7 +145,7 @@
if (valueA)
{
format = [NSString stringWithFormat:
@"(%@ doesContain: %%@)", tagName];
@"%@ doesContain: %%@", tagName];
[formats addObject: format];
[args addObject: valueA];
}
@@ -159,14 +159,4 @@
arguments: args];
}
+ (id) qualifierFromMailDAVMailFilters: (DOMElement *) mailFilters
{
EOQualifier *newQualifier;
newQualifier = [EOQualifier buildQualifierFromFilters: mailFilters];
return newQualifier;
}
@end
+2 -2
View File
@@ -529,14 +529,14 @@ class DAVMailCollectionTest(unittest.TestCase):
"(code = %d)" % put.response["status"])
itemLocation = put.response["headers"]["location"]
tests = (("{urn:schemas:httpmail:}date", 1254242534, 1),
tests = (("{urn:schemas:httpmail:}date", 1254156134, 1),
("{urn:schemas:httpmail:}hasattachment", "0", 0),
("{urn:schemas:httpmail:}read", "0", 0),
("{urn:schemas:httpmail:}textdescription",
"<![CDATA[%s]]>" % message1, 0),
("{urn:schemas:httpmail:}unreadcount", None, 0),
("{urn:schemas:mailheader:}cc","message1cc@cyril.dev, user10@cyril.dev", 0),
("{urn:schemas:mailheader:}date", "Tue, 29 Sep 2009 11:42:14 GMT", 0),
("{urn:schemas:mailheader:}date", "Mon, 28 Sep 2009 11:42:14 GMT", 0),
("{urn:schemas:mailheader:}from", "Cyril <message1from@cyril.dev>", 0),
("{urn:schemas:mailheader:}in-reply-to", None, 0),
("{urn:schemas:mailheader:}message-id","<4AC1F29sept6.5060801@cyril.dev>", 0),