Changeset 1277 for trunk

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

Added scraper download system.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/SapphireFrappliance/Settings/SapphireSettings.m

    r1272 r1277  
    3838#import "CoreDataSupportFunctions.h" 
    3939#import "SapphireErrorDisplayController.h" 
     40#import "SapphireWaitDisplay.h" 
    4041 
    4142#import <SapphireCompatClasses/SapphireFrontRowCompat.h> 
     
    7475        COMMAND_IMPORT_MOVIE_DATA, 
    7576        COMMAND_IMPORT_TV_AUTOSORT_CALCULATE, 
     77        COMMAND_IMPORT_UPDATE_SCRAPERS, 
    7678        COMMAND_IMPORT_HIDE_POSTER_CHOOSER, 
    7779        COMMAND_IMPORT_USE_DIR_NAME, 
     
    146148                        [theme gem:TVR_GEM_KEY], SETTING_GEM, 
    147149                        [NSNumber numberWithInt:COMMAND_IMPORT_TV_AUTOSORT_CALCULATE], SETTING_COMMAND, 
     150                        nil], 
     151                [NSDictionary dictionaryWithObjectsAndKeys: 
     152                        BRLocalizedString(@"  Update Scrapers", @"Update Scrapers menu item"), SETTING_NAME, 
     153                        BRLocalizedString(@"Tells Sapphire to download latest scrapers from the website.", @"Update Scrapers description"), SETTING_DESCRIPTION, 
     154                        [theme gem:CONE_GEM_KEY], SETTING_GEM, 
     155                        [NSNumber numberWithInt:COMMAND_IMPORT_UPDATE_SCRAPERS], SETTING_COMMAND, 
    148156                        nil], 
    149157/*              [NSDictionary dictionaryWithObjectsAndKeys: 
     
    491499} 
    492500 
     501- (BRLayerController *)waitForDownloads 
     502{ 
     503        SapphireURLLoader *loader = [SapphireApplianceController urlLoader]; 
     504        while([loader loadingURLCount] != 0) 
     505                usleep(100000); 
     506         
     507        SapphireErrorDisplayController *error = [[SapphireErrorDisplayController alloc] initWithScene:[self scene] error:BRLocalizedString(@"Restart Needed", @"Restart Needed") longError:BRLocalizedString(@"You must exist Frontrow for new scrapers to take effect", @"You must exist Frontrow for new scrapers to take effect")]; 
     508        return [error autorelease]; 
     509} 
     510 
    493511- (void)wasExhumed 
    494512{ 
     
    627645                                [error release]; 
    628646                        } 
     647                        break; 
     648                } 
     649                case COMMAND_IMPORT_UPDATE_SCRAPERS: 
     650                { 
     651                        SapphireURLLoader *loader = [SapphireApplianceController urlLoader]; 
     652                        NSFileManager *fm = [NSFileManager defaultManager]; 
     653                        [fm constructPath:[applicationSupportDir() stringByAppendingPathComponent:@"scrapers/common"]]; 
     654                        NSArray *loads = [NSArray arrayWithObjects:@"tvrage.xml", @"imdb.xml", @"/common/dtrailer.xml", @"common/imdb.xml", @"common/impa.xml", @"common/movieposterdb.xml", @"common/tmdb.xml", nil]; 
     655                        NSString *dest = [applicationSupportDir() stringByAppendingPathComponent:@"scrapers"]; 
     656                        NSEnumerator *loadEnum = [loads objectEnumerator]; 
     657                        NSString *load; 
     658                        while((load = [loadEnum nextObject]) != nil) 
     659                                [loader saveDataAtURL:[@"http://appletv.nanopi.net/svn/trunk/SapphireFrappliance/MetaDataImporting/Scrapers/" stringByAppendingString:load] toFile:[dest stringByAppendingPathComponent:load]]; 
     660                        NSInvocation *invoke = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:@selector(waitForDownloads)]]; 
     661                        [invoke setTarget:self]; 
     662                        [invoke setSelector:@selector(waitForDownloads)]; 
     663                        SapphireWaitDisplay *wait = [[SapphireWaitDisplay alloc] initWithScene:[self scene] title:BRLocalizedString(@"Downloading", @"Downloading") invocation:invoke]; 
     664                        [[self stack] pushController:wait]; 
     665                        [wait release]; 
    629666                        break; 
    630667                }