-Subproject commit cc176feb28e66fac71ccdcfffa96b86b2855de68
+Subproject commit 7c60da084e353ce655541021472880a47985530d
}
}
[[PithosUtilities prepareRequest:newRequest priority:[[newRequest.userInfo objectForKey:@"priority"] integerValue]] startAsynchronous];
+ [newRequest release];
} else {
if ([request isEqualTo:applyMetadataAccountRequest]) {
[PithosUtilities httpRequestErrorAlertWithRequest:applyMetadataAccountRequest];
@interface PithosBrowserController (Private)
- (BOOL)uploadFiles:(NSArray *)filenames toNode:(PithosNode *)destinationNode;
- (BOOL)moveNodes:(NSArray *)nodes toNode:(PithosNode *)destinationNode;
-- (BOOL)copyNodes:(NSArray *)nodes toNode:(PithosNode *)destinationNode;
+- (BOOL)cpyNodes:(NSArray *)nodes toNode:(PithosNode *)destinationNode;
@end
@implementation PithosBrowserController
if ([info draggingSourceOperationMask] & NSDragOperationMove)
return [self moveNodes:draggedNodes toNode:node];
else if ([info draggingSourceOperationMask] & NSDragOperationCopy)
- return [self copyNodes:draggedNodes toNode:node];
+ return [self cpyNodes:draggedNodes toNode:node];
}
}
return NO;
return YES;
}
-- (BOOL)copyNodes:(NSArray *)nodes toNode:(PithosNode *)destinationNode {
+- (BOOL)cpyNodes:(NSArray *)nodes toNode:(PithosNode *)destinationNode {
if ((([destinationNode class] != [PithosSubdirNode class]) && ([destinationNode class] != [PithosContainerNode class])) ||
(([destinationNode class] == [PithosSubdirNode class]) && !destinationNode.pithosObject.subdir && [destinationNode.pithosObject.name hasSuffix:@"/"]))
return NO;
}
if (operation.isCancelled)
return;
- ASIPithosObjectRequest *objectRequest = [PithosUtilities copyObjectRequestWithPithos:pithos
+ ASIPithosObjectRequest *objectRequest = [PithosUtilities cpyObjectRequestWithPithos:pithos
containerName:node.pithosContainer.name
objectName:node.pithosObject.name
destinationContainerName:containerName
}
if (operation.isCancelled)
return;
- NSArray *objectRequests = [PithosUtilities copyObjectRequestsForSubdirWithPithos:pithos
+ NSArray *objectRequests = [PithosUtilities cpyObjectRequestsForSubdirWithPithos:pithos
containerName:node.pithosContainer.name
objectName:node.pithosObject.name
destinationContainerName:containerName
([info draggingSourceOperationMask] & NSDragOperationMove))
return [self moveNodes:draggedNodes toNode:node];
else if ([info draggingSourceOperationMask] & NSDragOperationCopy)
- return [self copyNodes:draggedNodes toNode:node];
+ return [self cpyNodes:draggedNodes toNode:node];
}
}
return NO;
PithosNode *dropNode = (PithosNode *)[sender representedObject];
NSArray *localClipboardNodes = [NSArray arrayWithArray:clipboardNodes];
if (clipboardCopy) {
- [self copyNodes:localClipboardNodes toNode:dropNode];
+ [self cpyNodes:localClipboardNodes toNode:dropNode];
} else if (![dropNode isEqualTo:clipboardParentNode]) {
self.clipboardNodes = nil;
self.clipboardParentNode = nil;
}
}
[[PithosUtilities prepareRequest:newRequest priority:[[newRequest.userInfo objectForKey:@"priority"] integerValue]] startAsynchronous];
+ [newRequest release];
} else {
if ([request isEqualTo:applyMetadataContainerRequest]) {
[PithosUtilities httpRequestErrorAlertWithRequest:applyMetadataContainerRequest];
}
}
[[PithosUtilities prepareRequest:newRequest priority:[[newRequest.userInfo objectForKey:@"priority"] integerValue]] startAsynchronous];
+ [newRequest release];
} else {
if ([request isEqualTo:applyMetadataObjectRequest]) {
[PithosUtilities httpRequestErrorAlertWithRequest:applyMetadataObjectRequest];
}
}
[[PithosUtilities prepareRequest:newRequest priority:[[newRequest.userInfo objectForKey:@"priority"] integerValue]] startAsynchronous];
+ [newRequest release];
} else {
if ([request isEqualTo:applyMetadataObjectRequest]) {
[PithosUtilities httpRequestErrorAlertWithRequest:applyMetadataObjectRequest];
containerName:(NSString *)containerName
objectName:(NSString *)objectName;
-+ (ASIPithosObjectRequest *)copyObjectRequestWithPithos:(ASIPithos *)pithos
++ (ASIPithosObjectRequest *)cpyObjectRequestWithPithos:(ASIPithos *)pithos
containerName:(NSString *)containerName
objectName:(NSString *)objectName
destinationContainerName:(NSString *)destinationContainerName
destinationObjectName:(NSString *)destinationObjectName
checkIfExists:(BOOL)ifExists
sharingAccount:(NSString *)sharingAccount;
-+ (NSArray *)copyObjectRequestsForSubdirWithPithos:(ASIPithos *)pithos
++ (NSArray *)cpyObjectRequestsForSubdirWithPithos:(ASIPithos *)pithos
containerName:(NSString *)containerName
objectName:(NSString *)objectName
destinationContainerName:(NSString *)destinationContainerName
strcpy(tempFileNameCString, tempFileTemplateCString);
int fileDescriptor = mkstemp(tempFileNameCString);
NSString *tempFilePath = [fileManager stringWithFileSystemRepresentation:tempFileNameCString length:strlen(tempFileNameCString)];
+ free(tempFileNameCString);
if (fileDescriptor == -1) {
dispatch_async(dispatch_get_main_queue(), ^{
NSAlert *alert = [[[NSAlert alloc] init] autorelease];
});
return nil;
}
- free(tempFileNameCString);
NSFileHandle *tempFileHandle = [[NSFileHandle alloc] initWithFileDescriptor:fileDescriptor closeOnDealloc:YES];
[missingBlocks enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop){
#pragma mark -
#pragma mark Copy
-+ (ASIPithosObjectRequest *)copyObjectRequestWithPithos:(ASIPithos *)pithos
++ (ASIPithosObjectRequest *)cpyObjectRequestWithPithos:(ASIPithos *)pithos
containerName:(NSString *)containerName
objectName:(NSString *)objectName
destinationContainerName:(NSString *)destinationContainerName
sharingAccount:nil])
return nil;
- ASIPithosObjectRequest *objectRequest = [ASIPithosObjectRequest copyObjectDataRequestWithPithos:pithos
+ ASIPithosObjectRequest *objectRequest = [ASIPithosObjectRequest cpyObjectDataRequestWithPithos:pithos
containerName:containerName
objectName:objectName
contentType:nil
return objectRequest;
}
-+ (NSArray *)copyObjectRequestsForSubdirWithPithos:(ASIPithos *)pithos
++ (NSArray *)cpyObjectRequestsForSubdirWithPithos:(ASIPithos *)pithos
containerName:(NSString *)containerName
objectName:(NSString *)objectName
destinationContainerName:(NSString *)destinationContainerName
ASIPithosObjectRequest *objectRequest;
if ([objectName isEqualToString:destinationObjectName]) {
if (![objectName hasSuffix:@"/"]) {
- objectRequest = [ASIPithosObjectRequest copyObjectDataRequestWithPithos:pithos
+ objectRequest = [ASIPithosObjectRequest cpyObjectDataRequestWithPithos:pithos
containerName:containerName
objectName:objectName
contentType:nil
[objectRequests addObject:objectRequest];
}
for (ASIPithosObject *object in objects) {
- objectRequest = [ASIPithosObjectRequest copyObjectDataRequestWithPithos:pithos
+ objectRequest = [ASIPithosObjectRequest cpyObjectDataRequestWithPithos:pithos
containerName:containerName
objectName:object.name
contentType:nil
}
} else {
if (![objectName hasSuffix:@"/"]) {
- objectRequest = [ASIPithosObjectRequest copyObjectDataRequestWithPithos:pithos
+ objectRequest = [ASIPithosObjectRequest cpyObjectDataRequestWithPithos:pithos
containerName:containerName
objectName:objectName
contentType:nil
withString:destinationObjectName
options:NSAnchoredSearch
range:prefixRange];
- objectRequest = [ASIPithosObjectRequest copyObjectDataRequestWithPithos:pithos
+ objectRequest = [ASIPithosObjectRequest cpyObjectDataRequestWithPithos:pithos
containerName:containerName
objectName:object.name
contentType:nil
ASINetworkQueue *networkQueue = [ASINetworkQueue queue];
[networkQueue go];
[networkQueue addOperations:[NSArray arrayWithObject:[self prepareRequest:objectRequest]] waitUntilFinished:YES];
- *error = [objectRequest error];
- if (*error) {
- [self httpRequestErrorAlertWithRequest:objectRequest];
- return NO;
- } else if (objectRequest.responseStatusCode == 200) {
- *isDirectory = [self isContentTypeDirectory:[objectRequest contentType]];
- return YES;
+ if (error != NULL) {
+ *error = [objectRequest error];
+ if (*error) {
+ [self httpRequestErrorAlertWithRequest:objectRequest];
+ return NO;
+ } else if (objectRequest.responseStatusCode == 200) {
+ *isDirectory = [self isContentTypeDirectory:[objectRequest contentType]];
+ return YES;
+ }
}
return NO;
}