You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
2.4 KiB
Julia

12 months ago
# То же самое, но на julia
using Logging
12 months ago
using Printf
using Dates
12 months ago
debuglogger = ConsoleLogger(stderr, Logging.Debug)
global_logger(debuglogger)
12 months ago
# правильный перевод!
function humanbytes(B)
"""Return the given bytes as a human friendly KB, MB, GB, or TB string."""
B = float(B)
KB = float(1024)
MB = float(KB ^ 2) # 1,048,576
GB = float(KB ^ 3) # 1,073,741,824
TB = float(KB ^ 4) # 1,099,511,627,776
if B < KB
return @sprintf("%.2f Bytes", B)
elseif KB <= B && B < MB
return @sprintf("%.2f KB", (B / KB))
elseif MB <= B && B < GB
return @sprintf("%.2f MB", (B / MB))
elseif GB <= B && B < TB
return @sprintf("%.2f GB", (B / GB))
elseif TB <= B
return @sprintf("%.2f TB", (B / KB))
end
end
12 months ago
function new_name(name)
matches = Dict(
"Сек" => r"(.+) Сек.*",
"Сцен" => r"(.+) Сцен.*",
"Голые" => r"(.+) Голые.*",
"Откро" => r"(.+) Откро.*",
"Посте" => r"(.+) Посте.*",
"Изнас" => r"(.+) Изнас.*",
"Инцес" => r"(.+) Инцес.*",
"Лесб" => r"(.+) Лесб.*",
"Эро" => r"(.+) Эро.*"
)
for (k, v) in matches
if contains(name, k)
base, ext = splitext(name)
new_name = replace(base, v => s"\1")
# @debug base, new_name
return string(new_name, ext)
end
end
return name
end
function valid_file(filename)
valids = [".mp4", ".webm", ".mpeg"]
_, ext = splitext(filename)
return ext in valids
end
# file_info function returns information from file
function file_info(filename)
_, ext = splitext(filename)
info = stat(filename)
m = Dict(
"filename" => filename,
"size" => info.size,
12 months ago
"hsize" => humanbytes(info.size),
12 months ago
"mtime" => info.mtime,
"ctime" => info.ctime,
12 months ago
"htime" => Dates.format(Dates.unix2datetime(info.ctime), "dd.mm.yyyy"),
12 months ago
"ext" => ext,
)
return m
end
function check_file(filename)
println(filename)
meta = file_info(filename)
println(meta)
end
# -------- основная программа --------------
dir = "d:\\vids\\ero"
@info "Обработка каталога: $dir"
files = readdir(dir, join=true)
for file in filter(valid_file, files)
meta = check_file(file)
end