X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/865eb081d76064bc6ec16c44f6ac976a9b1a62b3..87ff2a62c7bd424aa11c1b7854d33b58ee4daf9c:/AudioscrobblerController.m diff --git a/AudioscrobblerController.m b/AudioscrobblerController.m index 3864a0c..bc56007 100644 --- a/AudioscrobblerController.m +++ b/AudioscrobblerController.m @@ -91,6 +91,10 @@ static AudioscrobblerController *_sharedController = nil; if (!_handshakeCompleted && user) { NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://post.audioscrobbler.com/?hs=true&p=1.1&c=%@&v=%@&u=%@", AUDIOSCROBBLER_ID, AUDIOSCROBBLER_VERSION, user]]; + [_lastStatus release]; + _lastStatus = [NSLocalizedString(@"audioscrobbler_handshaking", @"Attempting to handshake with server") retain]; + [[NSNotificationCenter defaultCenter] postNotificationName:@"AudioscrobblerStatusChanged" object:nil userInfo:[NSDictionary dictionaryWithObject:_lastStatus forKey:@"StatusString"]]; + _currentStatus = AudioscrobblerRequestingHandshakeStatus; _responseData = [[NSMutableData alloc] init]; [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:15] delegate:self]; @@ -210,10 +214,12 @@ static AudioscrobblerController *_sharedController = nil; } ITDebugLog(@"Audioscrobbler: Sending track submission request"); + [_lastStatus release]; + _lastStatus = [NSLocalizedString(@"audioscrobbler_submitting", @"Submitting tracks to server") retain]; + [[NSNotificationCenter defaultCenter] postNotificationName:@"AudioscrobblerStatusChanged" object:nil userInfo:[NSDictionary dictionaryWithObject:_lastStatus forKey:@"StatusString"]]; //Create and send the request NSMutableURLRequest *request = [[NSURLRequest requestWithURL:_postURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:15] mutableCopy]; - NSLog(@"Posting Audioscrobbler URL request: %@", requestString); [request setHTTPMethod:@"POST"]; [request setHTTPBody:[requestString dataUsingEncoding:NSUTF8StringEncoding]]; _currentStatus = AudioscrobblerSubmittingTracksStatus; @@ -222,6 +228,11 @@ static AudioscrobblerController *_sharedController = nil; [requestString release]; [request release]; + //For now we're not going to cache results, as it is less of a headache + //[_tracks removeObjectsInArray:_submitTracks]; + [_tracks removeAllObjects]; + [_submitTracks removeAllObjects]; + //If we have tracks left, submit again after the interval seconds } @@ -236,6 +247,7 @@ static AudioscrobblerController *_sharedController = nil; - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { + [_responseData release]; [_lastStatus release]; _lastStatus = [[NSString stringWithFormat:NSLocalizedString(@"audioscrobbler_error", @"Error - %@"), [error localizedDescription]] retain]; [[NSNotificationCenter defaultCenter] postNotificationName:@"AudioscrobblerStatusChanged" object:self userInfo:[NSDictionary dictionaryWithObject:_lastStatus forKey:@"StatusString"]]; @@ -257,7 +269,6 @@ static AudioscrobblerController *_sharedController = nil; responseAction = [lines objectAtIndex:0]; } ITDebugLog(@"Audioscrobbler: Response %@", string); - NSLog(@"Audioscrobbler: Response %@", string); if (_currentStatus == AudioscrobblerRequestingHandshakeStatus) { if ([lines count] < 2) { //We have a protocol error @@ -290,10 +301,6 @@ static AudioscrobblerController *_sharedController = nil; //We have a protocol error } } else if (_currentStatus == AudioscrobblerSubmittingTracksStatus) { - //For now we're not going to cache results, as it is less of a headache - [_tracks removeObjectsInArray:_submitTracks]; - [_submitTracks removeAllObjects]; - if ([responseAction isEqualToString:@"OK"]) { ITDebugLog(@"Audioscrobbler: Submission successful, clearing queue."); /*[_tracks removeObjectsInArray:_submitTracks]; @@ -311,7 +318,6 @@ static AudioscrobblerController *_sharedController = nil; //Bad auth } else if (([responseAction length] > 5) && [[responseAction substringToIndex:5] isEqualToString:@"FAILED"]) { ITDebugLog(@"Audioscrobbler: Submission failed (%@)", [responseAction substringFromIndex:6]); - NSLog(@"Audioscrobbler: Submission failed (%@)", [responseAction substringFromIndex:6]); key = @"audioscrobbler_submission_failed"; comment = @"Last track submission failed - see console for error"; //Failed @@ -335,4 +341,10 @@ static AudioscrobblerController *_sharedController = nil; [_responseData release]; } +-(NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse +{ + //Don't cache any Audioscrobbler communication + return nil; +} + @end