Show
Ignore:
Timestamp:
02/14/08 20:51:37 (4 years ago)
Author:
gbooker
Message:

Patch to select the directory instead of the filename for movie searches. Thanks to Stephan in ticket #120
Fixes #120

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/SapphireFrappliance/SapphireMovieImporter.m

    r488 r491  
    2727#import <SapphireCompatClasses/SapphireFrontRowCompat.h> 
    2828#import "SapphireShowChooser.h" 
     29#import "SapphireSettings.h" 
    2930 
    3031#define VERSION_KEY                                     @"Version" 
     
    664665        if(![self isMovieCandidate:metaData]) 
    665666                return IMPORT_STATE_NOT_UPDATED; 
    666         /*Get fineName*/ 
    667667        NSString *path = [metaData path]; 
    668668        NSString *fileName = [path lastPathComponent]; 
     669        /*choose between file or directory name for lookup */ 
     670        NSString *lookupName; 
     671        if([[SapphireSettings sharedSettings] dirLookup]) 
     672                lookupName = [[path stringByDeletingLastPathComponent] lastPathComponent]; 
     673        else 
     674                lookupName = fileName; 
    669675        if([metaData fileClass]==FILE_CLASS_TV_SHOW) /* File is a TV Show - skip it */ 
    670676                return IMPORT_STATE_NOT_UPDATED; 
     
    673679        NSString *movieDataLink = nil ; 
    674680        /*Check to see if we know this movie*/ 
    675         NSMutableDictionary *dict=[movieTranslations objectForKey:[[fileName lowercaseString] stringByDeletingPathExtension]]; 
     681        NSMutableDictionary *dict=[movieTranslations objectForKey:[[lookupName lowercaseString] stringByDeletingPathExtension]]; 
    676682        if(dict == nil) 
    677683        { 
     
    680686                        return IMPORT_STATE_NOT_UPDATED; 
    681687                /*Ask the user what movie this is*/ 
    682                 NSArray *movies = [self searchResultsForMovie:fileName]; 
     688                NSArray *movies = [self searchResultsForMovie:lookupName]; 
    683689                /* No need to prompt the user for an empty set */ 
    684690                if(movies==nil) 
     
    692698                SapphireMovieChooser *chooser = [[SapphireMovieChooser alloc] initWithScene:[dataMenu scene]]; 
    693699                [chooser setMovies:movies]; 
    694                 [chooser setFileName:fileName];          
     700                [chooser setFileName:lookupName];                
    695701                [chooser setListTitle:BRLocalizedString(@"Select Movie Title", @"Prompt the user for title of movie")]; 
    696702                /*And display prompt*/ 
     
    751757                                [self downloadPosterCandidates:posters]; 
    752758                                [posterChooser setPosters:posters] ; 
    753                                 [posterChooser setFileName:fileName]; 
     759                                [posterChooser setFileName:lookupName]; 
    754760                                [posterChooser setListTitle:BRLocalizedString(@"Select Movie Poster", @"Prompt the user for poster selection")]; 
    755761                                [[dataMenu stack] pushController:posterChooser];