Show
Ignore:
Timestamp:
02/24/10 19:49:31 (2 years ago)
Author:
gbooker
Message:

Apply year parsing to translation lookup as well

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/PlayerFramework/SapphireFrappliance/MetaDataImporting/SapphireMovieImporter.m

    r1167 r1172  
    315315                int index = 0; 
    316316                NSManagedObjectContext *moc = [tran managedObjectContext]; 
     317                //Redoing posters, get rid of old ones 
     318                [tran setSelectedPosterIndex:nil]; 
     319                NSEnumerator *posterEnum = [[tran postersSet] objectEnumerator]; 
     320                SapphireMoviePoster *poster; 
     321                while((poster = [posterEnum nextObject]) != nil) 
     322                        [moc deleteObject:poster]; 
     323                 
    317324                NSEnumerator *thumbEnum = [thumbElements objectEnumerator]; 
    318325                NSXMLElement *thumb; 
     
    469476        NSString *movieDataLink = nil ; 
    470477        /*Check to see if we know this movie*/ 
    471         SapphireLog(SAPPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Searching for movie %@", state->lookupName); 
     478         
     479        /*Look for a year in the title*/ 
     480        NSScanner *titleYearScanner = [NSScanner scannerWithString:state->lookupName]; 
     481        NSString *normalTitle = nil; 
     482        int year = 0; 
     483        BOOL success = YES; 
     484        success &= [titleYearScanner scanUpToString:@"(" intoString:&normalTitle]; 
     485        NSString *junk = nil; 
     486        success &= [titleYearScanner scanString:@"(" intoString:nil]; 
     487        success &= [titleYearScanner scanInt:&year]; 
     488        success &= [titleYearScanner scanString:@")" intoString:nil]; 
     489         
     490        NSString *yearStr = nil; 
     491        if(success) 
     492        { 
     493                yearStr = [NSString stringWithFormat:@"%d", year]; 
     494                if([normalTitle hasSuffix:@" "]) 
     495                   normalTitle = [normalTitle substringToIndex:[normalTitle length]-1]; 
     496                [state setLookupName:normalTitle]; 
     497        } 
     498         
     499        SapphireLog(SAPPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Searching for movie \"%@\"", state->lookupName); 
    472500        NSManagedObjectContext *moc = [metaData managedObjectContext]; 
    473501        SapphireMovieTranslation *tran = [SapphireMovieTranslation movieTranslationWithName:state->lookupName inContext:moc]; 
     
    500528                                return ImportStateNotUpdated; 
    501529                         
    502                         /*Look for a year in the title*/ 
    503                         NSScanner *titleYearScanner = [NSScanner scannerWithString:state->lookupName]; 
    504                         NSString *normalTitle = nil; 
    505                         int year = 0; 
    506                         BOOL success = YES; 
    507                         success &= [titleYearScanner scanUpToString:@"(" intoString:&normalTitle]; 
    508                         NSString *junk = nil; 
    509                         success &= [titleYearScanner scanString:@"(" intoString:nil]; 
    510                         success &= [titleYearScanner scanInt:&year]; 
    511                         success &= [titleYearScanner scanString:@")" intoString:nil]; 
    512                          
    513                         NSString *yearStr = nil; 
    514                         if(!success) 
    515                         { 
    516                                 normalTitle = state->lookupName; 
    517                         } 
    518                         else 
    519                                 yearStr = [NSString stringWithFormat:@"%d", year]; 
    520                          
    521                         SapphireLog(SAPPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DEBUG, @"Searching for %@ with year %@", normalTitle, yearStr); 
     530                        SapphireLog(SAPPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DEBUG, @"Searching for %@ with year %@", state->lookupName, yearStr); 
    522531                         
    523532                        /*Ask the user what movie this is*/ 
    524533                        [siteScraper setObject:state]; 
    525                         [siteScraper searchForMovieName:normalTitle year:yearStr]; 
     534                        [siteScraper searchForMovieName:state->lookupName year:yearStr]; 
    526535                        return ImportStateBackground; 
    527536                }