Changeset 458

Show
Ignore:
Timestamp:
01/21/2008 07:59:13 PM (4 years ago)
Author:
gbooker
Message:

Use data from XML to override filename's values when searching for a TV ep.
Fixes #8

Location:
trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/SapphireMetaData.h

    r451 r458  
    4040#define META_EPISODE_2_NUMBER_KEY               @"Episode 2" 
    4141#define META_ABSOLUTE_EP_2_NUMBER_KEY   @"Episode Number 2" 
     42#define META_SEARCH_SEASON_NUMBER_KEY   @"Search Season" 
     43#define META_SEARCH_EPISODE_NUMBER_KEY  @"Search Episode" 
     44#define META_SEARCH_EPISODE_2_NUMBER_KEY        @"Search Episode 2" 
    4245 
    4346//ATV Extra Info 
     
    704707- (void)setFileContainerType:(FileContainerType)fileContainerType; 
    705708 
     709/*! 
     710 * @brief Get the overridden season number 
     711 * 
     712 * Sometimes TVRage's information is horribly wrong (such as Firefly) and it would be a pain to correct.  This allows the user to provide a season number to override what is in the filename while not interferring with the number stored in the real season number. 
     713 * 
     714 * @return the season number to use, -1 if none exists 
     715 */ 
     716- (int)overriddenSeasonNumber; 
     717 
     718/*! 
     719 * @brief Get the overridden episode number 
     720 * 
     721 * Sometimes TVRage's information is horribly wrong (such as Firefly) and it would be a pain to correct.  This allows the user to provide a episode number to override what is in the filename while not interferring with the number stored in the real episode number. 
     722 * 
     723 * @return the episode number to use, -1 if none exists 
     724 */ 
     725- (int)overriddenEpisodeNumber; 
     726 
     727/*! 
     728 * @brief Get the overridden second episode number 
     729 * 
     730 * Sometimes TVRage's information is horribly wrong (such as Firefly) and it would be a pain to correct.  This allows the user to provide a second episode number to override what is in the filename while not interferring with the number stored in the real second episode number. 
     731 * 
     732 * @return the second episode number to use, -1 if none exists 
     733 */ 
     734- (int)overriddenSecondEpisodeNumber; 
    706735 
    707736@end 
  • trunk/SapphireMetaData.m

    r451 r458  
    18771877} 
    18781878 
     1879- (int)overriddenSeasonNumber 
     1880{ 
     1881        [self constructCombinedData]; 
     1882        NSNumber *info = [combinedInfo objectForKey:META_SEARCH_SEASON_NUMBER_KEY]; 
     1883        if(info != nil) 
     1884                return [info intValue]; 
     1885        return -1; 
     1886} 
     1887 
     1888- (int)overriddenEpisodeNumber 
     1889{ 
     1890        [self constructCombinedData]; 
     1891        NSNumber *info = [combinedInfo objectForKey:META_SEARCH_EPISODE_NUMBER_KEY]; 
     1892        if(info != nil) 
     1893                return [info intValue]; 
     1894        return -1; 
     1895} 
     1896 
     1897- (int)overriddenSecondEpisodeNumber 
     1898{ 
     1899        [self constructCombinedData]; 
     1900        NSNumber *info = [combinedInfo objectForKey:META_SEARCH_EPISODE_2_NUMBER_KEY]; 
     1901        if(info != nil) 
     1902                return [info intValue]; 
     1903        return -1; 
     1904} 
     1905 
    18791906- (int)oscarsWon 
    18801907{ 
  • trunk/SapphireTVShowImporter.m

    r452 r458  
    567567        if([skipped hasSuffix:@"S"]) 
    568568                ep = 0; 
     569         
     570        int overriddenSeason = [metaData overriddenSeasonNumber]; 
     571        if(overriddenSeason != -1) 
     572                season = overriddenSeason; 
     573 
     574        int overriddenEpisode = [metaData overriddenEpisodeNumber]; 
     575        if(overriddenEpisode != -1) 
     576                ep = overriddenEpisode; 
     577 
    569578        /*No season, no info*/ 
    570579        if(season == 0) 
     
    579588        } 
    580589         
     590        overriddenEpisode = [metaData overriddenSecondEpisodeNumber]; 
     591        if(overriddenEpisode != -1) 
     592                otherEp = overriddenEpisode; 
     593 
    581594        /*Get the episode's info*/ 
    582595        NSMutableDictionary *info = nil, *info2 = nil; 
  • trunk/SapphireXMLFileDataImporter.m

    r456 r458  
    3636#define EPISODE_NUMBER_XML_QUERY        @"/media/episodeNumber/text()" 
    3737#define EPISODE_XML_QUERY                       @"/media/episode/text()" 
     38#define SEC_EPISODE_XML_QUERY           @"/media/secondEpisode/text()" 
    3839#define SEASON_XML_QUERY                        @"/media/season/text()" 
    3940#define PUBLISHED_XML_QUERY                     @"/media/published/text()" 
     41#define SEARCH_SEASON_XML_QUERY         @"/media/searchSeason/text()" 
     42#define SEARCH_SEC_EPISODE_XML_QUERY    @"/media/searchSecondEpisode/text()" 
     43#define SEARCH_EPISODE_XML_QUERY        @"/media/searchEpisode/text()" 
    4044//Multi Attributes               
    4145#define TITLE_XML_QUERY                         @"/media/title/text()" 
     
    6367                                                   META_SHOW_NAME_KEY,                          SERIES_NAME_XML_QUERY, 
    6468                                                   META_SHOW_BROADCASTER_KEY,           BROADCASTER_XML_QUERY, 
    65                                                    META_ABSOLUTE_EP_NUMBER_KEY, EPISODE_NUMBER_XML_QUERY, 
    66                                                    META_EPISODE_NUMBER_KEY,             EPISODE_XML_QUERY, 
     69                                                   META_ABSOLUTE_EP_NUMBER_KEY,         EPISODE_NUMBER_XML_QUERY, 
     70                                                   META_EPISODE_NUMBER_KEY,                     EPISODE_XML_QUERY, 
     71                                                   META_EPISODE_2_NUMBER_KEY,           SEC_EPISODE_XML_QUERY, 
    6772                                                   META_SEASON_NUMBER_KEY,                      SEASON_XML_QUERY, 
    68                                                    META_SHOW_PUBLISHED_DATE_KEY,        PUBLISHED_XML_QUERY,nil] ; 
     73                                                   META_SHOW_PUBLISHED_DATE_KEY,        PUBLISHED_XML_QUERY, 
     74                                                   META_SEARCH_SEASON_NUMBER_KEY,       SEARCH_SEASON_XML_QUERY, 
     75                                                   META_SEARCH_EPISODE_NUMBER_KEY,      SEARCH_EPISODE_XML_QUERY, 
     76                                                   META_SEARCH_EPISODE_2_NUMBER_KEY,SEARCH_SEC_EPISODE_XML_QUERY, 
     77                                                   nil] ; 
    6978        xmlMultiAttributes = [[NSDictionary alloc] initWithObjectsAndKeys: 
    7079                                                  @"Genres",                            GENRES_XML_QUERY, 
     
    170179        } 
    171180        /*Values which need to be converted to numbers*/ 
    172         NSArray *convertToNumbers = [NSArray arrayWithObjects:META_SHOW_FAVORITE_RATING_KEY, META_ABSOLUTE_EP_NUMBER_KEY, META_SEASON_NUMBER_KEY, META_EPISODE_NUMBER_KEY, nil]; 
     181        NSArray *convertToNumbers = [NSArray arrayWithObjects:META_SHOW_FAVORITE_RATING_KEY, META_ABSOLUTE_EP_NUMBER_KEY, META_SEASON_NUMBER_KEY, META_EPISODE_NUMBER_KEY, META_EPISODE_2_NUMBER_KEY, META_SEARCH_SEASON_NUMBER_KEY, META_SEARCH_EPISODE_NUMBER_KEY, META_SEARCH_EPISODE_2_NUMBER_KEY, nil]; 
    173182        NSEnumerator *numEnum = [convertToNumbers objectEnumerator]; 
    174183        while((key = [numEnum nextObject]) != nil)