aboutsummaryrefslogtreecommitdiff
path: root/QSThingsPlugin/Parsers/QSThingsTasksParser.m
diff options
context:
space:
mode:
Diffstat (limited to 'QSThingsPlugin/Parsers/QSThingsTasksParser.m')
-rw-r--r--QSThingsPlugin/Parsers/QSThingsTasksParser.m43
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