Changeset 661
- Timestamp:
- 09/17/08 09:57:08 (4 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/CoreData/SapphireFrappliance/MetaDataImporting/SapphireMovieImporter.m
r645 r661 326 326 327 327 /* 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 } 333 337 /* Check for IMDB top 250 */ 334 338 NSNumber * top250=nil ; 335 339 NSArray *top250Candidate=[document objectsForXQuery:@"//div[@class='left']/a/string()" error:&error]; 336 340 337 341 if([top250Candidate count]) 338 342 { … … 341 345 top250=[NSNumber numberWithInt:[[top250Str substringFromIndex:10] intValue]]; 342 346 } 343 347 344 348 /* Get the release date */ 345 349 NSArray *rawData=[document objectsForXQuery:IMDB_RESULT_INFO_XPATH error:&error]; … … 358 362 { 359 363 NSString *dataCandidate=[result stringValue]; 360 364 361 365 if([dataCandidate length]) 362 366 { … … 368 372 [trimmer scanUpToString:@"(" intoString:&dataCandidate]; 369 373 releaseDate=[NSDate dateWithNaturalLanguageString:dataCandidate]; 370 371 } 372 else if([dataType hasPrefix:@"Writer s"])374 375 } 376 else if([dataType hasPrefix:@"Writer"]) 373 377 { 374 378 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]; 379 392 } 380 393 else if([dataType hasPrefix:@"Director"]) … … 383 396 NSMutableArray *mutDirs = [[directorsStr componentsSeparatedByString:@"\n"] mutableCopy]; 384 397 [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 } 385 407 directors = [[mutDirs copy] autorelease]; 386 408 [mutDirs release]; … … 411 433 else if([dataType hasPrefix:@"Genre"]) 412 434 { 413 435 414 436 NSMutableArray *myGenres=[NSMutableArray array]; 415 437 NSCharacterSet *seperators = [NSCharacterSet characterSetWithCharactersInString:@"/|"]; … … 451 473 continue ; 452 474 } 453 475 454 476 455 477 } … … 480 502 } 481 503 else 482 continue ;504 continue ; 483 505 } 484 506 completeCast=[[results copy] autorelease] ; 485 507 } 486 487 508 488 509 /* populate metadata to return */
