Commit f0d114fd authored by Roy Marmelstein's avatar Roy Marmelstein Committed by GitHub

Merge pull request #114 from peterboni/patch-2

Added includeRootDirectory logic.
parents c8cee3e1 8e282b60
......@@ -10,6 +10,27 @@ import Foundation
internal class ZipUtilities {
/*
Include root directory.
Default is true.
e.g. The Test directory contains two files A.txt and B.txt.
As true:
$ zip -r Test.zip Test/
$ unzip -l Test.zip
Test/
Test/A.txt
Test/B.txt
As false:
$ zip -r Test.zip Test/
$ unzip -l Test.zip
A.txt
B.txt
*/
let includeRootDirectory = true
// File manager
let fileManager = FileManager.default
......@@ -54,7 +75,7 @@ internal class ZipUtilities {
/**
Recursive function to expand directory contents and parse them into ProcessedFilePath structs.
Expand directory contents and parse them into ProcessedFilePath structs.
- parameter directory: Path of folder as NSURL.
......@@ -67,12 +88,15 @@ internal class ZipUtilities {
while let filePathComponent = enumerator.nextObject() as? String {
let path = directory.appendingPathComponent(filePathComponent)
let filePath = path.path
let directoryName = directory.lastPathComponent
var isDirectory: ObjCBool = false
fileManager.fileExists(atPath: filePath, isDirectory: &isDirectory)
if !isDirectory.boolValue {
let fileName = (directoryName as NSString).appendingPathComponent(filePathComponent)
var fileName = filePathComponent
if includeRootDirectory {
let directoryName = directory.lastPathComponent
fileName = (directoryName as NSString).appendingPathComponent(filePathComponent)
}
let processedPath = ProcessedFilePath(filePathURL: path, fileName: fileName)
processedFilePaths.append(processedPath)
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment