This commit is contained in:
Igor Timofeev 2015-12-20 11:39:35 +03:00
parent ec071c3f6d
commit 7335a53aaa
2 changed files with 47 additions and 24 deletions

View File

@ -1,31 +1,67 @@
local archive = require("lib/archive")
local shell = require("shell")
------------------------------------------------------------------------------------------------------------------------------------
local args = {...}
local args, options = shell.parse(...)
archive.debugMode = true
if not options.q then
archive.debugMode = true
end
local function debug(text)
if not options.q then print(text) end
end
if args[1] == "pack" then
if not args[2] or not args[3] then
print(" ")
print("Использование: archive pack <имя архива> <архивируемая папка>")
print(" ")
debug(" ")
debug("Использование: archive pack <имя архива> <архивируемая папка>")
debug(" ")
return
end
debug(" ")
debug("Упаковка пакета начата")
debug(" ")
archive.pack(args[2], args[3])
debug(" ")
debug("Упаковка пакета завершена, файл сохранен как \"" .. args[2] .. "\", его размер составил " .. math.ceil(fs.size(args[2]) / 1024) .. "КБ")
debug(" ")
elseif args[1] == "unpack" then
if not args[2] or not args[3] then
print(" ")
print("Использование: archive unpack <путь к архиву> <папка для сохранения файлов>")
print(" ")
debug(" ")
debug("Использование: archive unpack <путь к архиву> <папка для сохранения файлов>")
debug(" ")
return
end
debug(" ")
debug("Распаковка пакета начата")
debug(" ")
archive.unpack(args[2], args[3])
debug(" ")
debug("Распаковка пакета \"" .. args[2] .. "\" завершена")
debug(" ")
elseif args[1] == "download" or args[1] == "get" then
if not args[2] or not args[3] then
debug(" ")
debug("Использование: archive download <URL-ссылка на архив> <папка для сохранения файлов>")
debug(" ")
return
end
debug(" ")
debug("Загрузка файла по ссылке \"" .. args[2] .. "\"")
shell.execute("wget " .. args[2] .. " TempFile.pkg -fq")
debug(" ")
debug("Распаковка загруженного пакета")
archive.unpack("TempFile.pkg", args[3])
shell.execute("rm TempFile.pkg")
debug(" ")
debug("Пакет \"" .. args[2] .. "\" был успешно загружен и распакован")
debug(" ")
else
print(" ")
print("Использование: archive <pack/unpack> <имя архива/путь к архиву> <архивируемая папка/папка для сохранения файлов>")
print(" ")
debug(" ")
debug("Использование: archive <pack/unpack/download> ...")
debug(" ")
return
end

View File

@ -40,25 +40,15 @@ end
------------------------------------------------------------------------------------------------------------------------------------
function package.pack(whereToSavePackedPackage, pathThatContainsFilesToPack)
debug(" ")
debug("Упаковка пакета начата")
debug(" ")
local packageFileStream = io.open(whereToSavePackedPackage, "w")
packageFileStream:write(packageSignature, "\n")
doPack(packageFileStream, pathThatContainsFilesToPack .. "/", "", whereToSavePackedPackage)
packageFileStream:close()
debug(" ")
debug("Упаковка пакета завершена, файл сохранен как \"" .. whereToSavePackedPackage .. "\", его размер составил " .. math.ceil(fs.size(whereToSavePackedPackage) / 1024) .. "КБ")
debug(" ")
end
function package.unpack(pathToPackedPackage, whereToSaveUnpackedFiles)
debug(" ")
debug("Распаковка пакета начата")
debug(" ")
fs.makeDirectory(whereToSaveUnpackedFiles)
local packageFileStream = io.open(pathToPackedPackage, "r")
@ -87,9 +77,6 @@ function package.unpack(pathToPackedPackage, whereToSaveUnpackedFiles)
end
packageFileStream:close()
debug(" ")
debug("Распаковка пакета \"" .. pathToPackedPackage .. "\" завершена")
debug(" ")
end
------------------------------------------------------------------------------------------------------------------------------------