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

Reply via email to