mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-02-27 04:06:23 +00:00
Monotone-Parent: fa7f4f3829eb5576b8845dcb4c03e5327cc7e354
Monotone-Revision: bed152d621c11e6d16b59bdf26007079a05e1696 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-09-22T21:11:08 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
10
ChangeLog
10
ChangeLog
@@ -12,6 +12,16 @@
|
||||
|
||||
2009-09-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* SoObjects/Mailer/SOGoMailObject.m (-fetchPlainTextParts:):
|
||||
handle the fact that the "fetch" key in a RawResponse (NGHashMap)
|
||||
may not be the only response. Since [NGHashMap objectForKey:]
|
||||
returns only the first one, we use the new "flattenedDictionaries"
|
||||
to make sure we can retrieve all requested keys.
|
||||
|
||||
* SoObjects/SOGo/NSArray+Utilities.m (-flattenedDictionaries): new
|
||||
method that merges the keys and values of all contained
|
||||
dictionaries into one single dictionary.
|
||||
|
||||
* Tests/webdavlib.py (_WD_XMLTreeElement.__init__): added a new
|
||||
optional parameter "attributes" that enables the setting of
|
||||
element attributes during the rendering of the element.
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#import <NGObjWeb/WOContext+SoObjects.h>
|
||||
#import <NGObjWeb/WOResponse.h>
|
||||
#import <NGObjWeb/NSException+HTTP.h>
|
||||
#import <NGExtensions/NGHashMap.h>
|
||||
#import <NGExtensions/NSNull+misc.h>
|
||||
#import <NGExtensions/NSObject+Logs.h>
|
||||
#import <NGExtensions/NSString+Encoding.h>
|
||||
@@ -613,6 +614,7 @@ static BOOL debugSoParts = NO;
|
||||
// TODO: is the name correct or does it also fetch other parts?
|
||||
NSMutableDictionary *flatContents;
|
||||
unsigned i, count;
|
||||
NSArray *results;
|
||||
id result;
|
||||
|
||||
[self debugWithFormat: @"fetch keys: %@", _fetchKeys];
|
||||
@@ -622,8 +624,9 @@ static BOOL debugSoParts = NO;
|
||||
result = [result valueForKey: @"RawResponse"]; // hackish
|
||||
|
||||
// Note: -valueForKey: doesn't work!
|
||||
result = [(NSDictionary *)result objectForKey: @"fetch"];
|
||||
|
||||
results = [(NGHashMap *)result objectsForKey: @"fetch"];
|
||||
result = [results flattenedDictionaries];
|
||||
|
||||
count = [_fetchKeys count];
|
||||
flatContents = [NSMutableDictionary dictionaryWithCapacity:count];
|
||||
for (i = 0; i < count; i++) {
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
- (NSArray *) objectsForKey: (NSString *) key
|
||||
notFoundMarker: (id) marker;
|
||||
- (NSArray *) flattenedArray;
|
||||
- (NSDictionary *) flattenedDictionaries;
|
||||
|
||||
- (NSArray *) uniqueObjects;
|
||||
|
||||
|
||||
@@ -121,6 +121,24 @@
|
||||
return flattenedArray;
|
||||
}
|
||||
|
||||
- (NSDictionary *) flattenedDictionaries
|
||||
{
|
||||
NSMutableDictionary *newDict;
|
||||
NSDictionary *currentDictionary;
|
||||
int count, max;
|
||||
|
||||
newDict = [NSMutableDictionary dictionary];
|
||||
|
||||
max = [self count];
|
||||
for (count = 0; count < max; count++)
|
||||
{
|
||||
currentDictionary = [self objectAtIndex: count];
|
||||
[newDict addEntriesFromDictionary: currentDictionary];
|
||||
}
|
||||
|
||||
return newDict;
|
||||
}
|
||||
|
||||
- (NSArray *) uniqueObjects
|
||||
{
|
||||
NSMutableArray *newArray;
|
||||
|
||||
Reference in New Issue
Block a user