Changeset 661

Show
Ignore:
Timestamp:
09/17/08 09:57:08 (4 months ago)
Author:
gbooker
Message:

Mergeded over [660]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/CoreData/SapphireFrappliance/MetaDataImporting/SapphireMovieImporter.m

    r645 r661  
    326326         
    327327        /* Get the User Rating (IMDB) */ 
    328         NSArray *ratingCandidates=[document objectsForXQuery:@"//b/string()" error:&error]; 
    329         NSString *usrRating=[[document objectsForXQuery:@"//b/string()" error:&error] objectAtIndex:[ratingCandidates indexOfObject:@"User Rating:"]+1]; 
    330         metaTrimmer=[NSScanner scannerWithString:usrRating]; 
    331         [metaTrimmer scanUpToString:@"/" intoString:&usrRating]; 
    332          
     328        NSArray *ratingCandidates=[document objectsForXQuery:@"(//b | //h5)/string()" error:&error]; 
     329        int ratingIndex = [ratingCandidates indexOfObject:@"User Rating:\n"]; 
     330        NSString *usrRating=nil; 
     331        if(ratingIndex != NSNotFound) 
     332        { 
     333                usrRating = [ratingCandidates objectAtIndex:ratingIndex+1]; 
     334                metaTrimmer=[NSScanner scannerWithString:usrRating]; 
     335                [metaTrimmer scanUpToString:@"/" intoString:&usrRating];                 
     336        } 
    333337        /* Check for IMDB top 250 */ 
    334338        NSNumber * top250=nil ; 
    335339        NSArray *top250Candidate=[document objectsForXQuery:@"//div[@class='left']/a/string()" error:&error]; 
    336  
     340         
    337341        if([top250Candidate count]) 
    338342        { 
     
    341345                        top250=[NSNumber numberWithInt:[[top250Str substringFromIndex:10] intValue]]; 
    342346        } 
    343                 
     347         
    344348        /* Get the release date */ 
    345349        NSArray *rawData=[document objectsForXQuery:IMDB_RESULT_INFO_XPATH error:&error]; 
     
    358362                { 
    359363                        NSString *dataCandidate=[result stringValue]; 
    360  
     364                         
    361365                        if([dataCandidate length]) 
    362366                        { 
     
    368372                                        [trimmer scanUpToString:@"(" intoString:&dataCandidate]; 
    369373                                        releaseDate=[NSDate dateWithNaturalLanguageString:dataCandidate]; 
    370  
    371                                 } 
    372                                 else if([dataType hasPrefix:@"Writers"]) 
     374                                         
     375                                } 
     376                                else if([dataType hasPrefix:@"Writer"]) 
    373377                                { 
    374378                                        NSString *writersStr = [[trimmer string] substringFromIndex:[trimmer scanLocation]+1]; 
    375                                         NSMutableArray *mutWrit = [[writersStr componentsSeparatedByString:@"\n"] mutableCopy]; 
    376                                         [mutWrit removeObject:@""]; 
    377                                         writers = [[mutWrit copy] autorelease]; 
    378                                         [mutWrit release]; 
     379                                        NSMutableArray *mutDirs = [[writersStr componentsSeparatedByString:@"\n"] mutableCopy]; 
     380                                        [mutDirs removeObject:@""]; 
     381                                        int i, count = [mutDirs count]; 
     382                                        for(i=0; i<count; i++) 
     383                                        { 
     384                                                NSString *tdirector; 
     385                                                NSScanner *typeTrimmer = [[NSScanner alloc] initWithString:[mutDirs objectAtIndex:i]]; 
     386                                                [typeTrimmer scanUpToString:@" (" intoString:&tdirector]; 
     387                                                [mutDirs replaceObjectAtIndex:i withObject:tdirector]; 
     388                                                [typeTrimmer release]; 
     389                                        } 
     390                                        writers = [[mutDirs copy] autorelease]; 
     391                                        [mutDirs release]; 
    379392                                } 
    380393                                else if([dataType hasPrefix:@"Director"]) 
     
    383396                                        NSMutableArray *mutDirs = [[directorsStr componentsSeparatedByString:@"\n"] mutableCopy]; 
    384397                                        [mutDirs removeObject:@""]; 
     398                                        int i, count = [mutDirs count]; 
     399                                        for(i=0; i<count; i++) 
     400                                        { 
     401                                                NSString *tdirector; 
     402                                                NSScanner *typeTrimmer = [[NSScanner alloc] initWithString:[mutDirs objectAtIndex:i]]; 
     403                                                [typeTrimmer scanUpToString:@" (" intoString:&tdirector]; 
     404                                                [mutDirs replaceObjectAtIndex:i withObject:tdirector]; 
     405                                                [typeTrimmer release]; 
     406                                        } 
    385407                                        directors = [[mutDirs copy] autorelease]; 
    386408                                        [mutDirs release]; 
     
    411433                                else if([dataType hasPrefix:@"Genre"]) 
    412434                                { 
    413  
     435                                         
    414436                                        NSMutableArray *myGenres=[NSMutableArray array]; 
    415437                                        NSCharacterSet *seperators = [NSCharacterSet characterSetWithCharactersInString:@"/|"]; 
     
    451473                                continue ; 
    452474                } 
    453  
     475                 
    454476                 
    455477        } 
     
    480502                        } 
    481503                        else 
    482                         continue ; 
     504                               continue ; 
    483505                } 
    484506                completeCast=[[results copy] autorelease] ; 
    485507        } 
    486          
    487508         
    488509        /* populate metadata to return */