Revision: 2747 http://skim-app.svn.sourceforge.net/skim-app/?rev=2747&view=rev Author: hofman Date: 2007-08-28 09:25:19 -0700 (Tue, 28 Aug 2007)
Log Message: ----------- Read skim notes from PDF bundles. Modified Paths: -------------- SkimNotesAgent/SkimNotesAgent.m Modified: SkimNotesAgent/SkimNotesAgent.m =================================================================== --- SkimNotesAgent/SkimNotesAgent.m 2007-08-28 16:12:35 UTC (rev 2746) +++ SkimNotesAgent/SkimNotesAgent.m 2007-08-28 16:25:19 UTC (rev 2747) @@ -86,27 +86,58 @@ - (bycopy NSData *)SkimNotesAtPath:(in bycopy NSString *)aFile; { NSError *error; - NSData *data = [[NSFileManager defaultManager] extendedAttributeNamed:@"net_sourceforge_skim-app_notes" atPath:[aFile stringByStandardizingPath] traverseLink:YES error:&error]; - if (nil == data && [error code] != ENOATTR) - fprintf(stderr, "SkimNotesAgent pid %d: error getting Skim notes (%s)\n", getpid(), [[error description] UTF8String]); + NSData *data = nil; + NSString *extension = [[aFile pathExtension] lastPathComponent]; + + if ([extension caseInsensitiveCompare:@"pdfd"] == NSOrderedSame) { + data = [NSData dataWithContentsOfFile:[aFile stringByAppendingPathComponent:@"data.skim"] options:0 error:&error]; + if (nil == data) + fprintf(stderr, "SkimNotesAgent pid %d: error getting Skim notes\n", getpid(), [[error description] UTF8String]); + } else if ([extension caseInsensitiveCompare:@"skim"] == NSOrderedSame) { + data = [NSData dataWithContentsOfFile:aFile options:0 error:&error]; + if (nil == data) + fprintf(stderr, "SkimNotesAgent pid %d: error getting Skim notes\n", getpid(), [[error description] UTF8String]); + } else { + data = [[NSFileManager defaultManager] extendedAttributeNamed:@"net_sourceforge_skim-app_notes" atPath:[aFile stringByStandardizingPath] traverseLink:YES error:&error]; + if (nil == data && [error code] != ENOATTR) + fprintf(stderr, "SkimNotesAgent pid %d: error getting Skim notes (%s)\n", getpid(), [[error description] UTF8String]); + } return data; } - (bycopy NSData *)RTFNotesAtPath:(in bycopy NSString *)aFile; { NSError *error; - NSData *data = [[NSFileManager defaultManager] extendedAttributeNamed:@"net_sourceforge_skim-app_rtf_notes" atPath:[aFile stringByStandardizingPath] traverseLink:YES error:&error]; - if (nil == data && [error code] != ENOATTR) - fprintf(stderr, "SkimNotesAgent pid %d: error getting RTF notes (%s)\n", getpid(), [[error description] UTF8String]); + NSData *data = nil; + NSString *extension = [[aFile pathExtension] lastPathComponent]; + + if ([extension caseInsensitiveCompare:@"pdfd"] == NSOrderedSame) { + data = [NSData dataWithContentsOfFile:[aFile stringByAppendingPathComponent:@"data.rtf"] options:0 error:&error]; + if (nil == data) + fprintf(stderr, "SkimNotesAgent pid %d: error getting Skim notes\n", getpid(), [[error description] UTF8String]); + } else { + data = [[NSFileManager defaultManager] extendedAttributeNamed:@"net_sourceforge_skim-app_rtf_notes" atPath:[aFile stringByStandardizingPath] traverseLink:YES error:&error]; + if (nil == data && [error code] != ENOATTR) + fprintf(stderr, "SkimNotesAgent pid %d: error getting RTF notes (%s)\n", getpid(), [[error description] UTF8String]); + } return data; } - (bycopy NSString *)textNotesAtPath:(in bycopy NSString *)aFile; { NSError *error; - NSString *string = [[NSFileManager defaultManager] propertyListFromExtendedAttributeNamed:@"net_sourceforge_skim-app_text_notes" atPath:[aFile stringByStandardizingPath] traverseLink:YES error:&error]; - if (nil == string && [[[error userInfo] objectForKey:NSUnderlyingErrorKey] code] != ENOATTR) - fprintf(stderr, "SkimNotesAgent pid %d: error getting text notes (%s)\n", getpid(), [[error description] UTF8String]); + NSString *string = nil; + NSString *extension = [[aFile pathExtension] lastPathComponent]; + + if ([extension caseInsensitiveCompare:@"pdfd"] == NSOrderedSame) { + string = [NSString stringWithContentsOfFile:[aFile stringByAppendingPathComponent:@"data.txt"] encoding:NSUTF8StringEncoding error:&error]; + if (nil == string) + fprintf(stderr, "SkimNotesAgent pid %d: error getting Skim notes\n", getpid(), [[error description] UTF8String]); + } else { + string = [[NSFileManager defaultManager] propertyListFromExtendedAttributeNamed:@"net_sourceforge_skim-app_text_notes" atPath:[aFile stringByStandardizingPath] traverseLink:YES error:&error]; + if (nil == string && [[[error userInfo] objectForKey:NSUnderlyingErrorKey] code] != ENOATTR) + fprintf(stderr, "SkimNotesAgent pid %d: error getting text notes (%s)\n", getpid(), [[error description] UTF8String]); + } return string; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit