|
|
@ -24,15 +24,15 @@ class NetworkDelegate: MasterDelegate, DetailDelegate { |
|
|
if p.type == ItemType.FAVROOT { |
|
|
if p.type == ItemType.FAVROOT { |
|
|
NetworkManager.sharedInstance.loadFavDirs(dir, completionHandler: weiter) |
|
|
NetworkManager.sharedInstance.loadFavDirs(dir, completionHandler: weiter) |
|
|
} |
|
|
} |
|
|
else if p.type == ItemType.VIDEOROOT { |
|
|
|
|
|
|
|
|
else if selectedItem.isVideo() { |
|
|
NetworkManager.sharedInstance.loadVideoDirs(dir, completionHandler: weiter) |
|
|
NetworkManager.sharedInstance.loadVideoDirs(dir, completionHandler: weiter) |
|
|
} |
|
|
} |
|
|
|
|
|
else if selectedItem.isDetails() { |
|
|
|
|
|
NetworkManager.sharedInstance.loadPicDirs(dir, completionHandler: weiter) |
|
|
|
|
|
} |
|
|
else if p.type == ItemType.WEBROOT { |
|
|
else if p.type == ItemType.WEBROOT { |
|
|
weiter(p.children) |
|
|
weiter(p.children) |
|
|
} |
|
|
} |
|
|
else { |
|
|
|
|
|
NetworkManager.sharedInstance.loadPicDirs(dir, completionHandler: weiter) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
func loadFolder(selectedItem: MediaItem, completionHandler: @escaping (MediaItem) -> Void) -> Void { |
|
|
func loadFolder(selectedItem: MediaItem, completionHandler: @escaping (MediaItem) -> Void) -> Void { |
|
|
@ -55,43 +55,47 @@ class NetworkDelegate: MasterDelegate, DetailDelegate { |
|
|
NetworkManager.sharedInstance.listDirs(selectedItem.encodedDir!, completionHandler: { |
|
|
NetworkManager.sharedInstance.listDirs(selectedItem.encodedDir!, completionHandler: { |
|
|
(i, leaf) in |
|
|
(i, leaf) in |
|
|
|
|
|
|
|
|
let details = MediaItem(name: selectedItem.name, path: selectedItem.path, root: selectedItem.root, type: ItemType.DETAILS) |
|
|
|
|
|
let neu = MediaItem(name: selectedItem.name, path: "", root: "", type: ItemType.FOLDER) |
|
|
|
|
|
let newFolder = MediaItem(name: ".", path: "", root: selectedItem.root, type: ItemType.DETAILS) |
|
|
|
|
|
newFolder.loaded = true |
|
|
|
|
|
|
|
|
|
|
|
var hasDetails = false |
|
|
|
|
|
|
|
|
|
|
|
for item in i { |
|
|
|
|
|
if item.type != ItemType.FOLDER && item.isVideo() { |
|
|
|
|
|
item.parent = newFolder |
|
|
|
|
|
newFolder.children.append(item) |
|
|
|
|
|
} else { |
|
|
|
|
|
if item.path == "" { |
|
|
|
|
|
item.path = item.name |
|
|
|
|
|
item.name = "" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if item.type == ItemType.PICS { |
|
|
|
|
|
if !hasDetails { |
|
|
|
|
|
neu.children.append(details) |
|
|
|
|
|
hasDetails = true |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
// item.type = ItemType.FOLDER |
|
|
|
|
|
item.parent = selectedItem |
|
|
|
|
|
neu.children.append(item) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if newFolder.children.count > 0 { |
|
|
|
|
|
newFolder.parent = selectedItem |
|
|
|
|
|
neu.children.append(newFolder) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
let isVideo = selectedItem.parent != nil && selectedItem.parent!.type == ItemType.VIDEOROOT |
|
|
|
|
|
if leaf || isVideo { |
|
|
|
|
|
|
|
|
selectedItem.children = i |
|
|
|
|
|
selectedItem.sort() |
|
|
|
|
|
// |
|
|
|
|
|
// let details = MediaItem(name: selectedItem.name, path: selectedItem.path, root: selectedItem.root, type: ItemType.DETAILS) |
|
|
|
|
|
// let neu = MediaItem(name: selectedItem.name, path: "", root: "", type: ItemType.FOLDER) |
|
|
|
|
|
// let newFolder = MediaItem(name: ".", path: "", root: selectedItem.root, type: ItemType.DETAILS) |
|
|
|
|
|
// newFolder.loaded = true |
|
|
|
|
|
// |
|
|
|
|
|
// var hasDetails = false |
|
|
|
|
|
// |
|
|
|
|
|
// for item in i { |
|
|
|
|
|
// item.leaf = leaf |
|
|
|
|
|
// if item.type != ItemType.FOLDER && item.isVideo() { |
|
|
|
|
|
// item.parent = newFolder |
|
|
|
|
|
// newFolder.children.append(item) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// if item.path == "" { |
|
|
|
|
|
// item.path = item.name |
|
|
|
|
|
// item.name = "" |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// if item.type == ItemType.PICS { |
|
|
|
|
|
// if !hasDetails { |
|
|
|
|
|
// neu.children.append(details) |
|
|
|
|
|
// hasDetails = true |
|
|
|
|
|
// } |
|
|
|
|
|
// } else { |
|
|
|
|
|
//// item.type = ItemType.FOLDER |
|
|
|
|
|
// item.parent = selectedItem |
|
|
|
|
|
// neu.children.append(item) |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// if newFolder.children.count > 0 { |
|
|
|
|
|
// newFolder.parent = selectedItem |
|
|
|
|
|
// neu.children.append(newFolder) |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// let isVideo = selectedItem.parent != nil && selectedItem.parent!.type == ItemType.VIDEOROOT |
|
|
|
|
|
// if leaf || isVideo { |
|
|
// if selectedItem.type == ItemType.VIDEOROOT { |
|
|
// if selectedItem.type == ItemType.VIDEOROOT { |
|
|
// NetworkManager.sharedInstance.loadVideoDirs(selectedItem.encodedDir!, completionHandler: { |
|
|
// NetworkManager.sharedInstance.loadVideoDirs(selectedItem.encodedDir!, completionHandler: { |
|
|
// (i) in |
|
|
// (i) in |
|
|
@ -100,15 +104,15 @@ class NetworkDelegate: MasterDelegate, DetailDelegate { |
|
|
// return |
|
|
// return |
|
|
// }) |
|
|
// }) |
|
|
// } |
|
|
// } |
|
|
|
|
|
|
|
|
if selectedItem.type == ItemType.FOLDER { |
|
|
|
|
|
selectedItem.type = ItemType.DETAILS |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
|
|
|
// if selectedItem.type == ItemType.FOLDER { |
|
|
|
|
|
// selectedItem.type = ItemType.DETAILS |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
completionHandler(selectedItem) |
|
|
completionHandler(selectedItem) |
|
|
} else { |
|
|
|
|
|
completionHandler(neu) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// } else { |
|
|
|
|
|
// completionHandler(neu) |
|
|
|
|
|
// } |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|