X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/ef1609c9b045caa35d6b03940d0d87d554a78f2e..b837b70f50ce4d33628f406380c447ff8e70d85a:/AudioscrobblerController.m diff --git a/AudioscrobblerController.m b/AudioscrobblerController.m index 47b4a8b..05a3a07 100644 --- a/AudioscrobblerController.m +++ b/AudioscrobblerController.m @@ -43,7 +43,7 @@ static AudioscrobblerController *_sharedController = nil; _postURL = [NSURL URLWithString:@"http://audioscrobbler.com/"];*/ _delayDate = [[NSDate date] retain]; - _responseData = nil; + _responseData = [[NSMutableData alloc] init]; _tracks = [[NSMutableArray alloc] init]; _submitTracks = [[NSMutableArray alloc] init]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleAudioscrobblerNotification:) name:@"AudioscrobblerHandshakeComplete" object:self]; @@ -91,8 +91,12 @@ 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]; + //_responseData = [[NSMutableData alloc] init]; [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:15] delegate:self]; } } @@ -210,14 +214,17 @@ 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; - _responseData = [[NSMutableData alloc] init]; + //_responseData = [[NSMutableData alloc] init]; + [_responseData setData:nil]; [NSURLConnection connectionWithRequest:request delegate:self]; [requestString release]; [request release]; @@ -241,7 +248,7 @@ static AudioscrobblerController *_sharedController = nil; - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { - [_responseData release]; + [_responseData setData:nil]; [_lastStatus release]; _lastStatus = [[NSString stringWithFormat:NSLocalizedString(@"audioscrobbler_error", @"Error - %@"), [error localizedDescription]] retain]; [[NSNotificationCenter defaultCenter] postNotificationName:@"AudioscrobblerStatusChanged" object:self userInfo:[NSDictionary dictionaryWithObject:_lastStatus forKey:@"StatusString"]]; @@ -263,7 +270,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 @@ -313,7 +319,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 @@ -334,7 +339,13 @@ static AudioscrobblerController *_sharedController = nil; _lastStatus = [NSLocalizedString(key, comment) retain]; [[NSNotificationCenter defaultCenter] postNotificationName:@"AudioscrobblerStatusChanged" object:nil userInfo:[NSDictionary dictionaryWithObject:_lastStatus forKey:@"StatusString"]]; [string release]; - [_responseData release]; + [_responseData setData:nil]; +} + +-(NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse +{ + //Don't cache any Audioscrobbler communication + return nil; } @end