Marino Faggiana 7 жил өмнө
parent
commit
26a49ef969

+ 49 - 45
iOSClient/Networking/CCNetworking.m

@@ -406,37 +406,39 @@
         
         tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"session = %@ AND (sessionTaskIdentifier == %i OR sessionTaskIdentifierPlist == %i)",session.sessionDescription, task.taskIdentifier, task.taskIdentifier]];
             
-        if (!metadata) return;
+        if (metadata) {
             
-        NSString *etag = metadata.etag;
-        NSString *fileID = metadata.fileID;
-        NSDictionary *fields = [httpResponse allHeaderFields];
+            NSString *etag = metadata.etag;
+            NSString *fileID = metadata.fileID;
+            NSDictionary *fields = [httpResponse allHeaderFields];
             
-        if (errorCode == 0) {
+            if (errorCode == 0) {
             
-            etag = [CCUtility removeForbiddenCharactersFileSystem:[fields objectForKey:@"OC-ETag"]];
+                etag = [CCUtility removeForbiddenCharactersFileSystem:[fields objectForKey:@"OC-ETag"]];
             
-            NSString *dateString = [fields objectForKey:@"Date"];
-            if (![dateFormatter getObjectValue:&date forString:dateString range:nil error:&error]) {
-                NSLog(@"Date '%@' could not be parsed: %@", dateString, error);
-                date = [NSDate date];
-            }
+                NSString *dateString = [fields objectForKey:@"Date"];
+                if (![dateFormatter getObjectValue:&date forString:dateString range:nil error:&error]) {
+                    NSLog(@"Date '%@' could not be parsed: %@", dateString, error);
+                    date = [NSDate date];
+                }
             
-            // Activity
-            [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:metadata.fileID action:k_activityDebugActionDownload selector:metadata.sessionSelector note:serverUrl type:k_activityTypeSuccess verbose:k_activityVerboseDefault activeUrl:_activeUrl];
+                // Activity
+                [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:metadata.fileID action:k_activityDebugActionDownload selector:metadata.sessionSelector note:serverUrl type:k_activityTypeSuccess verbose:k_activityVerboseDefault activeUrl:_activeUrl];
                 
-        } else {
+            } else {
             
-            // Activity
-            [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:metadata.fileID action:k_activityDebugActionDownload selector:metadata.sessionSelector note:[NSString stringWithFormat:@"Server: %@ Error: %@", serverUrl, [CCError manageErrorKCF:errorCode withNumberError:YES]] type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:_activeUrl];
-        }
+                // Activity
+                [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:metadata.fileID action:k_activityDebugActionDownload selector:metadata.sessionSelector note:[NSString stringWithFormat:@"Server: %@ Error: %@", serverUrl, [CCError manageErrorKCF:errorCode withNumberError:YES]] type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:_activeUrl];
+            }
         
-        dispatch_async(dispatch_get_main_queue(), ^{
-            NSArray *object = [[NSArray alloc] initWithObjects:session, fileID, task, nil];
-            [[NSNotificationCenter defaultCenter] postNotificationName:k_networkingSessionNotification object:object];
-        });
+            dispatch_async(dispatch_get_main_queue(), ^{
+                NSArray *object = [[NSArray alloc] initWithObjects:session, fileID, task, nil];
+                [[NSNotificationCenter defaultCenter] postNotificationName:k_networkingSessionNotification object:object];
+            });
         
-        [self downloadFileSuccessFailure:fileName fileID:metadata.fileID etag:etag date:date serverUrl:serverUrl selector:metadata.sessionSelector selectorPost:metadata.sessionSelectorPost errorCode:errorCode];
+            if (fileName.length > 0 && serverUrl.length > 0)
+                [self downloadFileSuccessFailure:fileName fileID:metadata.fileID etag:etag date:date serverUrl:serverUrl selector:metadata.sessionSelector selectorPost:metadata.sessionSelectorPost errorCode:errorCode];
+        }
     }
     
     // ------------------------ UPLOAD -----------------------
@@ -445,38 +447,40 @@
         
         tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"session = %@ AND (sessionTaskIdentifier == %i OR sessionTaskIdentifierPlist == %i)",session.sessionDescription, task.taskIdentifier, task.taskIdentifier]];
 
-        if (!metadata) return;
+        if (metadata) {
             
-        NSDictionary *fields = [httpResponse allHeaderFields];
-        __block NSString *fileID = metadata.fileID;
-        __block NSString *etag = metadata.etag;
+            NSDictionary *fields = [httpResponse allHeaderFields];
+            NSString *fileID = metadata.fileID;
+            NSString *etag = metadata.etag;
             
-        if (errorCode == 0) {
+            if (errorCode == 0) {
             
-            fileID = [CCUtility removeForbiddenCharactersFileSystem:[fields objectForKey:@"OC-FileId"]];
-            etag = [CCUtility removeForbiddenCharactersFileSystem:[fields objectForKey:@"OC-ETag"]];
+                fileID = [CCUtility removeForbiddenCharactersFileSystem:[fields objectForKey:@"OC-FileId"]];
+                etag = [CCUtility removeForbiddenCharactersFileSystem:[fields objectForKey:@"OC-ETag"]];
             
-            NSString *dateString = [fields objectForKey:@"Date"];
-            if (![dateFormatter getObjectValue:&date forString:dateString range:nil error:&error]) {
-                NSLog(@"Date '%@' could not be parsed: %@", dateString, error);
-                date = [NSDate date];
-            }
+                NSString *dateString = [fields objectForKey:@"Date"];
+                if (![dateFormatter getObjectValue:&date forString:dateString range:nil error:&error]) {
+                    NSLog(@"Date '%@' could not be parsed: %@", dateString, error);
+                    date = [NSDate date];
+                }
             
-            // Activity
-            [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:fileID action:k_activityDebugActionUpload selector:metadata.sessionSelector note:serverUrl type:k_activityTypeSuccess verbose:k_activityVerboseDefault activeUrl:_activeUrl];
+                // Actvity
+                [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:fileID action:k_activityDebugActionUpload selector:metadata.sessionSelector note:serverUrl type:k_activityTypeSuccess verbose:k_activityVerboseDefault activeUrl:_activeUrl];
 
-        } else {
+            } else {
             
-            // Activity
-            [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:metadata.fileID action:k_activityDebugActionUpload selector:metadata.sessionSelector note:[NSString stringWithFormat:@"Server: %@ Error: %@", serverUrl, [CCError manageErrorKCF:errorCode withNumberError:YES]] type:k_activityTypeFailure verbose:k_activityVerboseDefault   activeUrl:_activeUrl];
-        }
+                // Activity
+                [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:metadata.fileID action:k_activityDebugActionUpload selector:metadata.sessionSelector note:[NSString stringWithFormat:@"Server: %@ Error: %@", serverUrl, [CCError manageErrorKCF:errorCode withNumberError:YES]] type:k_activityTypeFailure verbose:k_activityVerboseDefault   activeUrl:_activeUrl];
+            }
         
-        dispatch_async(dispatch_get_main_queue(), ^{
-            NSArray *object = [[NSArray alloc] initWithObjects:session, fileID, task, nil];
-            [[NSNotificationCenter defaultCenter] postNotificationName:k_networkingSessionNotification object:object];
-        });
+            dispatch_async(dispatch_get_main_queue(), ^{
+                NSArray *object = [[NSArray alloc] initWithObjects:session, fileID, task, nil];
+                [[NSNotificationCenter defaultCenter] postNotificationName:k_networkingSessionNotification object:object];
+            });
         
-        [self uploadFileSuccessFailure:metadata fileName:fileName fileID:fileID etag:etag date:date serverUrl:serverUrl errorCode:errorCode];
+            if (fileName.length > 0 && fileID.length > 0 && etag.length > 0 && serverUrl.length > 0)
+                [self uploadFileSuccessFailure:metadata fileName:fileName fileID:fileID etag:etag date:date serverUrl:serverUrl errorCode:errorCode];
+        }
     }
 }