Changeset 1276

Show
Ignore:
Timestamp:
06/08/10 19:44:20 (2 years ago)
Author:
gbooker
Message:

Load scrapers with newer dates from an alternative directory. Also, corrected the dates on the existing scrapers.

Location:
trunk/SapphireFrappliance/MetaDataImporting
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/SapphireFrappliance/MetaDataImporting/SapphireScraper.m

    r1206 r1276  
    2121#import "SapphireScraper.h" 
    2222#include "pcre.h" 
     23#import "SapphireApplianceController.h" 
    2324 
    2425@interface SapphireScraper () 
     
    4243} 
    4344 
    44 + (NSArray *)allScrapperNames 
    45 { 
    46         NSBundle *selfBundle = [NSBundle bundleForClass:[self class]]; 
    47         NSArray *paths = [selfBundle pathsForResourcesOfType:@"xml" inDirectory:@"scrapers"]; 
    48          
    49         NSMutableDictionary *scraperPathsDict = [[NSMutableDictionary alloc] init]; 
     45void checkScrappersInPath(NSArray *paths, NSMutableDictionary *scraperPathsDict, NSMutableDictionary *scraperDates) 
     46{ 
    5047        NSEnumerator *pathEnum = [paths objectEnumerator]; 
    5148        NSString *path; 
     
    6158                NSString *name = [[root attributeForName:@"name"] stringValue]; 
    6259                NSString *type = [[root attributeForName:@"content"] stringValue]; 
    63                  
    64                 [scraperPathsDict setObject:[type stringByAppendingFormat:@"-%@", path] forKey:name]; 
     60                NSString *dateStr = [[root attributeForName:@"date"] stringValue]; 
     61                NSDate *date = [NSDate dateWithNaturalLanguageString:dateStr]; 
     62                 
     63                NSDate *existingDate = [scraperDates objectForKey:name]; 
     64                if(existingDate == nil || [existingDate compare:date] == NSOrderedAscending) 
     65                { 
     66                        [scraperPathsDict setObject:[type stringByAppendingFormat:@"-%@", path] forKey:name]; 
     67                        [scraperDates setObject:date forKey:name]; 
     68                } 
     69                 
    6570                [doc release]; 
    6671        } 
     72} 
     73 
     74+ (NSArray *)allScrapperNames 
     75{ 
     76        NSBundle *selfBundle = [NSBundle bundleForClass:[self class]]; 
     77        NSMutableDictionary *scraperPathsDict = [[NSMutableDictionary alloc] init]; 
     78        NSMutableDictionary *scraperDates = [[NSMutableDictionary alloc] init]; 
     79         
     80        NSArray *paths = [selfBundle pathsForResourcesOfType:@"xml" inDirectory:@"scrapers"]; 
     81        checkScrappersInPath(paths, scraperPathsDict, scraperDates); 
     82         
     83        paths = [NSArray array]; 
     84        NSString *scraperDir = [applicationSupportDir() stringByAppendingPathComponent:@"scrapers"]; 
     85        NSArray *files = [[NSFileManager defaultManager] directoryContentsAtPath:scraperDir]; 
     86        NSEnumerator *fileEnum = [files objectEnumerator]; 
     87        NSString *filename; 
     88        while((filename = [fileEnum nextObject]) != nil) 
     89        { 
     90                if([[filename pathExtension] isEqualToString:@"xml"]) 
     91                        paths = [paths arrayByAddingObject:[scraperDir stringByAppendingPathComponent:filename]]; 
     92        } 
     93        checkScrappersInPath(paths, scraperPathsDict, scraperDates); 
     94         
     95        [scraperDates release]; 
    6796        [scraperPaths release]; 
    6897        scraperPaths = [scraperPathsDict copy]; 
  • trunk/SapphireFrappliance/MetaDataImporting/Scrapers/imdb.xml

    r1086 r1276  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <scraper framework="1.1" date="2009-03-12" name="IMDb.com" content="movies" thumb="imdb.png" language="en"> 
     2<scraper framework="1.1" date="2009-12-30" name="IMDb.com" content="movies" thumb="imdb.png" language="en"> 
    33        <include>common/imdb.xml</include> 
    44        <include>common/tmdb.xml</include> 
  • trunk/SapphireFrappliance/MetaDataImporting/Scrapers/tvrage.xml

    r1274 r1276  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <scraper framework="1.0" date="2009-05-22" name="TV Rage" content="tvshows" thumb="tvrage.jpg" language="en"> 
     2<scraper framework="1.0" date="2010-06-07" name="TV Rage" content="tvshows" thumb="tvrage.jpg" language="en"> 
    33        <NfoUrl dest="3"> 
    44                <RegExp input="$$1" output="&lt;url&gt;http://www.tvrage.com/\1&lt;/url&gt;&lt;id&gt;\2&lt;/id&gt;"  dest="3">