Show
Ignore:
Timestamp:
01/08/09 21:03:22 (3 years ago)
Author:
gbooker
Message:

Switched the the next version of the metadata.
Fixes #264

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/CoreData/SapphireFrappliance/MetaData/SapphireMObjects/SapphireFileMetaData.m

    r732 r734  
    1111#import "SapphireFileSymLink.h" 
    1212#import "SapphireSettings.h" 
     13#import "CoreDataSupportFunctions.h" 
    1314 
    1415#import "SapphireTVShow.h" 
     
    134135         
    135136        return [SapphireFileMetaData internalCreateFileWithPath:path parent:parent inContext:moc]; 
     137} 
     138 
     139+ (NSDictionary *)upgradeV1FilesFromContext:(NSManagedObjectContext *)oldMoc toContext:(NSManagedObjectContext *)newMoc withMovies:(NSDictionary *)movieLookup directories:(NSDictionary *)dirLookup 
     140{ 
     141        NSMutableDictionary *lookup = [NSMutableDictionary dictionary]; 
     142        NSArray *files = doFetchRequest(SapphireFileMetaDataName, oldMoc, nil); 
     143        NSEnumerator *fileEnum = [files objectEnumerator]; 
     144        NSManagedObject *oldFile; 
     145        while((oldFile = [fileEnum nextObject]) != nil) 
     146        { 
     147                SapphireFileMetaData *newFile = [NSEntityDescription insertNewObjectForEntityForName:SapphireFileMetaDataName inManagedObjectContext:newMoc]; 
     148                NSString *path = [oldFile valueForKey:@"path"]; 
     149                newFile.path = path; 
     150                newFile.parent = [dirLookup objectForKey:[oldFile valueForKeyPath:@"parent.path"]]; 
     151                newFile.audioDescription = [oldFile valueForKey:@"audioDescription"]; 
     152                newFile.audioFormatID = [oldFile valueForKey:@"audioFormatID"]; 
     153                newFile.duration = [oldFile valueForKey:@"duration"]; 
     154                newFile.favorite = [oldFile valueForKey:@"favorite"]; 
     155                newFile.fileClass = [oldFile valueForKey:@"fileClass"]; 
     156                newFile.fileContainerType = [oldFile valueForKey:@"fileContainerType"]; 
     157                newFile.hasVideo = [oldFile valueForKey:@"hasVideo"]; 
     158                newFile.importTypeValue = [[oldFile valueForKey:@"importType"] intValue] & ~IMPORT_TYPE_XML_MASK; 
     159                newFile.modified = [oldFile valueForKey:@"modified"]; 
     160                newFile.resumeTime = [oldFile valueForKey:@"resumeTime"]; 
     161                newFile.sampleRate = [oldFile valueForKey:@"sampleRate"]; 
     162                newFile.size = [oldFile valueForKey:@"size"]; 
     163                newFile.subtitlesDescription = [oldFile valueForKey:@"subtitlesDescription"]; 
     164                newFile.videoDescription = [oldFile valueForKey:@"videoDescription"]; 
     165                newFile.watched = [oldFile valueForKey:@"watched"]; 
     166                NSNumber *oldMovieNumber = [oldFile valueForKeyPath:@"movie.imdbNumber"]; 
     167                if(oldMovieNumber != nil) 
     168                        newFile.movie = [movieLookup objectForKey:oldMovieNumber]; 
     169                 
     170                [lookup setObject:newFile forKey:path]; 
     171        } 
     172        return lookup; 
    136173} 
    137174 
     
    402439                [file addFileData:fileMeta]; 
    403440        } 
    404         return updated ; 
     441        return updated; 
    405442} 
    406443 
     
    680717- (void)setMovie:(SapphireMovie *)movie 
    681718{ 
    682         SapphireMovie *oldMovie = super.movie; 
     719        SapphireMovie *oldMovie = self.movie; 
    683720        super.movie = movie; 
    684721        if(movie != nil) 
     
    698735- (void)setTvEpisode:(SapphireEpisode *)ep 
    699736{ 
    700         SapphireEpisode *oldEp = super.tvEpisode; 
     737        SapphireEpisode *oldEp = self.tvEpisode; 
    701738        super.tvEpisode = ep; 
    702739        if(ep != nil) 
     
    709746                self.xmlData.episode.episode = ep; 
    710747        [oldEp clearPredicateCache]; 
     748} 
     749 
     750- (void)setXmlData:(SapphireXMLData *)data 
     751{ 
     752        super.xmlData = data; 
     753        if(data != nil) 
     754        { 
     755                data.episode.episode = self.tvEpisode; 
     756                data.movie.movie = self.movie; 
     757        } 
    711758} 
    712759