diff options
Diffstat (limited to 'QSThingsPlugin/Parsers/QSThingsTasksParser.m')
| -rw-r--r-- | QSThingsPlugin/Parsers/QSThingsTasksParser.m | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/QSThingsPlugin/Parsers/QSThingsTasksParser.m b/QSThingsPlugin/Parsers/QSThingsTasksParser.m new file mode 100644 index 0000000..b29d011 --- /dev/null +++ b/QSThingsPlugin/Parsers/QSThingsTasksParser.m @@ -0,0 +1,43 @@ +#import "Constants.h" +#import "QSThingsTasksParser.h" +#import "SQLHelper.h" +#import <os/log.h> + +@implementation QSThingsTasksParser +- (BOOL)validParserForPath:(NSString *)path { + return [[path lastPathComponent] isEqualToString:@"main.sqlite"]; +} + +- (NSArray *)objectsFromPath:(NSString *)path withSettings:(NSDictionary *)settings { + NSString *query = @"SELECT " + "uuid, " + "creationDate, " + "status, " + "title, " + "notes, " + "area, " + "project " + "FROM TMTask " + "WHERE trashed = 0 " + "AND type = 0 " + "AND status < 3 " + "ORDER BY title;"; + + NSArray *results = [SQLHelper executeSql:query onFile:path]; + + NSMutableArray *objects = [NSMutableArray array]; + [results enumerateObjectsUsingBlock:^(NSDictionary *dictionary, NSUInteger i, BOOL *stop) { + + QSObject *newObject = [QSObject + makeObjectWithIdentifier:[dictionary objectForKey:@"uuid"]]; + [newObject setObject:dictionary forType:kTaskType]; + [newObject setName:[dictionary objectForKey:@"title"]]; + [newObject setDetails:[dictionary objectForKey:@"notes"]]; + [newObject setPrimaryType:kTaskType]; + + [objects addObject:newObject]; + }]; + + return objects; +} +@end |