From 81d08d5e87236893f90a4a8b176151740c36da10 Mon Sep 17 00:00:00 2001 From: lint <47455468+lint@users.noreply.github.com> Date: Thu, 5 Nov 2020 20:41:35 -0500 Subject: [PATCH] More descriptive error messages --- tweak/assets/TFHelper.m | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/tweak/assets/TFHelper.m b/tweak/assets/TFHelper.m index 32942c5..5074911 100644 --- a/tweak/assets/TFHelper.m +++ b/tweak/assets/TFHelper.m @@ -6,7 +6,7 @@ + (void)getUndeleteDataWithID:(NSString *)ident isComment:(BOOL)isComment timeout:(CGFloat)timeout extraData:(NSDictionary *)extra completionTarget:(id)target completionSelector:(SEL)sel { NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; - NSOperationQueue *queue = [[NSOperationQueue alloc] init]; + //NSOperationQueue *queue = [[NSOperationQueue alloc] init]; if (isComment){ [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/comment/?ids=%@&fields=author,body", ident]]]; @@ -17,27 +17,31 @@ [request setHTTPMethod:@"GET"]; [request setTimeoutInterval:timeout]; - [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { + NSURLSessionDataTask *dataTask = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { + //[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { NSString *author = @"[author]"; NSString *body = @"[body]"; - if (data != nil && error == nil){ + if (data) { id jsonData = [[NSJSONSerialization JSONObjectWithData:data options:0 error:&error] objectForKey:@"data"]; - if ([jsonData count] != 0){ + if (jsonData && [jsonData count] != 0) { author = [jsonData[0] objectForKey:@"author"]; body = isComment ? [jsonData[0] objectForKey:@"body"] : [jsonData[0] objectForKey:@"selftext"]; if ([body isEqualToString:@"[deleted]"] || [body isEqualToString:@"[removed]"]){ - body = @"[pushshift was unable to archive this]"; + body = [NSString stringWithFormat:@"[pushshift was unable to archive this %@]", isComment ? @"comment" : @"post"]; } } else { - body = @"[pushshift has not archived this yet]"; + body = [NSString stringWithFormat:@"[no data for this %@ was returned by pushshift]", isComment ? @"comment" : @"post"]; } - } else if (error != nil || data == nil){ - body = [NSString stringWithFormat:@"[an error occured while attempting to contact pushshift api (%@)]", [error localizedDescription]]; } - NSMutableDictionary *result = [@{@"author" : author, @"body" : body} mutableCopy]; + if (error) { + body = [NSString stringWithFormat:@"[an error occurred while attempting retrieve data from the pushshift api]\n\nHTTP Status Code: %li\n\nError Description: %@", + (long)((NSHTTPURLResponse *)response).statusCode, [error localizedDescription]]; + } + + NSMutableDictionary *result = [NSMutableDictionary dictionaryWithDictionary:@{@"author" : author, @"body" : body}]; if (extra){ [result addEntriesFromDictionary:extra]; @@ -45,9 +49,10 @@ [target performSelectorOnMainThread:sel withObject:result waitUntilDone:NO]; }]; + [dataTask resume]; } -+(BOOL) shouldShowUndeleteButtonWithInfo:(NSString *) content isDeletedOnly:(BOOL) isDeletedOnly{ ++ (BOOL)shouldShowUndeleteButtonWithInfo:(NSString *) content isDeletedOnly:(BOOL) isDeletedOnly{ if (!isDeletedOnly){ return YES;