From c791858db3de3568f0ea2839c79b360a0dfb15ab Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Wed, 10 Sep 2025 11:32:28 +0200 Subject: Initial commit --- QSThingsPlugin/Parsers/QSThingsTasksParser.m | 43 ++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 QSThingsPlugin/Parsers/QSThingsTasksParser.m (limited to 'QSThingsPlugin/Parsers/QSThingsTasksParser.m') 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 + +@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 -- cgit