diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/SPExportFile.h | 2 | ||||
-rw-r--r-- | Source/SPExportFile.m | 16 | ||||
-rw-r--r-- | Source/SPExportInitializer.m | 5 | ||||
-rw-r--r-- | Source/SPSQLExporter.m | 2 |
4 files changed, 22 insertions, 3 deletions
diff --git a/Source/SPExportFile.h b/Source/SPExportFile.h index fb61eef2..946f6aec 100644 --- a/Source/SPExportFile.h +++ b/Source/SPExportFile.h @@ -82,5 +82,5 @@ - (BOOL)delete; - (void)writeData:(NSData *)data; - (SPExportFileHandleStatus)createExportFileHandle:(BOOL)overwrite; - +- (void)setCompressionFormat:(SPFileCompressionFormat)fileCompressionFormat; @end diff --git a/Source/SPExportFile.m b/Source/SPExportFile.m index e102b28e..1f09157f 100644 --- a/Source/SPExportFile.m +++ b/Source/SPExportFile.m @@ -168,6 +168,22 @@ return exportFileHandleStatus; } +/** + * Sets the compression level on the newly created file. Throws an exception + * if attempting to set the compression level when no file handle exists. + * + * @param fileCompressionFormat The compression level to support, from the SPFileCompressionFormat enum. + */ +- (void)setCompressionFormat:(SPFileCompressionFormat)fileCompressionFormat +{ + if (![self exportFileHandle]) { + [NSException raise:NSInternalInconsistencyException format:@"Attempting to set compression level of an uninitialized file handle."]; + return; + } + + [[self exportFileHandle] setShouldWriteWithCompressionFormat:fileCompressionFormat]; +} + #pragma mark - #pragma mark Private API diff --git a/Source/SPExportInitializer.m b/Source/SPExportInitializer.m index a34f729b..4812dd82 100644 --- a/Source/SPExportInitializer.m +++ b/Source/SPExportInitializer.m @@ -397,8 +397,11 @@ // Create the actual file handles while dealing with errors (e.g. file already exists, etc) during creation for (SPExportFile *exportFile in exportFiles) - { + { if ([exportFile createExportFileHandle:NO] == SPExportFileHandleCreated) { + + // TODO: these will not currently get triggered if there's an error in creating the files - eg when the user later chooses "overwrite". + [exportFile setCompressionFormat:[exportOutputCompressionFormatPopupButton indexOfSelectedItem]]; if ([exportFile exportFileNeedsCSVHeader]) { [self writeCSVHeaderToExportFile:exportFile]; } diff --git a/Source/SPSQLExporter.m b/Source/SPSQLExporter.m index a38732cb..186243b1 100644 --- a/Source/SPSQLExporter.m +++ b/Source/SPSQLExporter.m @@ -135,7 +135,7 @@ // Clear errors [self setSqlExportErrors:@""]; - + // Copy over the selected item names into tables in preparation for iteration NSMutableArray *targetArray; |