mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Adding messaging to training while offline in both trainer view controller and story detail view controller.
This commit is contained in:
parent
bd264f9921
commit
a73536a91a
3 changed files with 45 additions and 9 deletions
|
@ -53,7 +53,7 @@
|
|||
#pragma mark View methods
|
||||
|
||||
- (void)informError:(id)error {
|
||||
NSLog(@"Error: %@", error);
|
||||
NSLog(@"informError: %@", error);
|
||||
NSString *errorMessage;
|
||||
if ([error isKindOfClass:[NSString class]]) {
|
||||
errorMessage = error;
|
||||
|
|
|
@ -346,6 +346,7 @@
|
|||
- (void)toggleTagClassifier:(NSString *)tag feedId:(NSString *)feedId;
|
||||
- (void)toggleTitleClassifier:(NSString *)title feedId:(NSString *)feedId score:(int)score;
|
||||
- (void)toggleFeedClassifier:(NSString *)feedId;
|
||||
- (void)requestClassifierResponse:(ASIHTTPRequest *)request withFeed:(NSString *)feedId;
|
||||
|
||||
- (int)databaseSchemaVersion:(FMDatabase *)db;
|
||||
- (void)createDatabaseConnection;
|
||||
|
|
|
@ -2015,7 +2015,9 @@
|
|||
}
|
||||
NSMutableDictionary *feedClassifiers = [[self.activeClassifiers objectForKey:feedId]
|
||||
mutableCopy];
|
||||
if (!feedClassifiers) feedClassifiers = [NSMutableDictionary dictionary];
|
||||
NSMutableDictionary *authors = [[feedClassifiers objectForKey:@"authors"] mutableCopy];
|
||||
if (!authors) authors = [NSMutableDictionary dictionary];
|
||||
[authors setObject:[NSNumber numberWithInt:authorScore] forKey:author];
|
||||
[feedClassifiers setObject:authors forKey:@"authors"];
|
||||
[self.activeClassifiers setObject:feedClassifiers forKey:feedId];
|
||||
|
@ -2026,15 +2028,18 @@
|
|||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
__weak ASIFormDataRequest *_request = request;
|
||||
[request setPostValue:author
|
||||
forKey:authorScore >= 1 ? @"like_author" :
|
||||
authorScore <= -1 ? @"dislike_author" :
|
||||
@"remove_like_author"];
|
||||
[request setPostValue:feedId forKey:@"feed_id"];
|
||||
[request setCompletionBlock:^{
|
||||
[self.feedsViewController refreshFeedList:feedId];
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setFailedBlock:^{
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setDidFailSelector:@selector(requestFailed:)];
|
||||
[request setDelegate:self];
|
||||
[request startAsynchronous];
|
||||
|
||||
|
@ -2058,7 +2063,9 @@
|
|||
|
||||
NSMutableDictionary *feedClassifiers = [[self.activeClassifiers objectForKey:feedId]
|
||||
mutableCopy];
|
||||
if (!feedClassifiers) feedClassifiers = [NSMutableDictionary dictionary];
|
||||
NSMutableDictionary *tags = [[feedClassifiers objectForKey:@"tags"] mutableCopy];
|
||||
if (!tags) tags = [NSMutableDictionary dictionary];
|
||||
[tags setObject:[NSNumber numberWithInt:tagScore] forKey:tag];
|
||||
[feedClassifiers setObject:tags forKey:@"tags"];
|
||||
[self.activeClassifiers setObject:feedClassifiers forKey:feedId];
|
||||
|
@ -2069,15 +2076,18 @@
|
|||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
__weak ASIFormDataRequest *_request = request;
|
||||
[request setPostValue:tag
|
||||
forKey:tagScore >= 1 ? @"like_tag" :
|
||||
tagScore <= -1 ? @"dislike_tag" :
|
||||
@"remove_like_tag"];
|
||||
[request setPostValue:feedId forKey:@"feed_id"];
|
||||
[request setCompletionBlock:^{
|
||||
[self.feedsViewController refreshFeedList:feedId];
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setFailedBlock:^{
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setDidFailSelector:@selector(requestFailed:)];
|
||||
[request setDelegate:self];
|
||||
[request startAsynchronous];
|
||||
|
||||
|
@ -2105,7 +2115,9 @@
|
|||
|
||||
NSMutableDictionary *feedClassifiers = [[self.activeClassifiers objectForKey:feedId]
|
||||
mutableCopy];
|
||||
if (!feedClassifiers) feedClassifiers = [NSMutableDictionary dictionary];
|
||||
NSMutableDictionary *titles = [[feedClassifiers objectForKey:@"titles"] mutableCopy];
|
||||
if (!titles) titles = [NSMutableDictionary dictionary];
|
||||
[titles setObject:[NSNumber numberWithInt:titleScore] forKey:title];
|
||||
[feedClassifiers setObject:titles forKey:@"titles"];
|
||||
[self.activeClassifiers setObject:feedClassifiers forKey:feedId];
|
||||
|
@ -2116,15 +2128,18 @@
|
|||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
__weak ASIFormDataRequest *_request = request;
|
||||
[request setPostValue:title
|
||||
forKey:titleScore >= 1 ? @"like_title" :
|
||||
titleScore <= -1 ? @"dislike_title" :
|
||||
@"remove_like_title"];
|
||||
[request setPostValue:feedId forKey:@"feed_id"];
|
||||
[request setCompletionBlock:^{
|
||||
[self.feedsViewController refreshFeedList:feedId];
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setFailedBlock:^{
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setDidFailSelector:@selector(requestFailed:)];
|
||||
[request setDelegate:self];
|
||||
[request startAsynchronous];
|
||||
|
||||
|
@ -2147,6 +2162,7 @@
|
|||
|
||||
NSMutableDictionary *feedClassifiers = [[self.activeClassifiers objectForKey:feedId]
|
||||
mutableCopy];
|
||||
if (!feedClassifiers) feedClassifiers = [NSMutableDictionary dictionary];
|
||||
NSMutableDictionary *feeds = [[feedClassifiers objectForKey:@"feeds"] mutableCopy];
|
||||
[feeds setObject:[NSNumber numberWithInt:feedScore] forKey:feedId];
|
||||
[feedClassifiers setObject:feeds forKey:@"feeds"];
|
||||
|
@ -2158,15 +2174,18 @@
|
|||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
__weak ASIFormDataRequest *_request = request;
|
||||
[request setPostValue:feedId
|
||||
forKey:feedScore >= 1 ? @"like_feed" :
|
||||
feedScore <= -1 ? @"dislike_feed" :
|
||||
@"remove_like_feed"];
|
||||
[request setPostValue:feedId forKey:@"feed_id"];
|
||||
[request setCompletionBlock:^{
|
||||
[self.feedsViewController refreshFeedList:feedId];
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setFailedBlock:^{
|
||||
[self requestClassifierResponse:_request withFeed:feedId];
|
||||
}];
|
||||
[request setDidFailSelector:@selector(requestFailed:)];
|
||||
[request setDelegate:self];
|
||||
[request startAsynchronous];
|
||||
|
||||
|
@ -2174,6 +2193,22 @@
|
|||
[self.feedDetailViewController.storyTitlesTable reloadData];
|
||||
}
|
||||
|
||||
- (void)requestClassifierResponse:(ASIHTTPRequest *)request withFeed:(NSString *)feedId {
|
||||
BaseViewController *view;
|
||||
if (self.trainerViewController.isViewLoaded && self.trainerViewController.view.window) {
|
||||
view = self.trainerViewController;
|
||||
} else {
|
||||
view = self.storyPageControl.currentPage;
|
||||
}
|
||||
if ([request responseStatusCode] == 503) {
|
||||
return [view informError:@"In maintenance mode"];
|
||||
} else if ([request responseStatusCode] != 200) {
|
||||
return [view informError:@"The server barfed!"];
|
||||
}
|
||||
|
||||
[self.feedsViewController refreshFeedList:feedId];
|
||||
}
|
||||
|
||||
- (void)requestFailed:(ASIHTTPRequest *)request {
|
||||
NSError *error = [request error];
|
||||
NSLog(@"Error: %@", error);
|
||||
|
|
Loading…
Add table
Reference in a new issue