добавил файл julia

main
parent d0da119432
commit e49ed648e8

@ -0,0 +1,33 @@
{
"sqltools.connections": [
{
"mysqlOptions": {
"authProtocol": "default",
"enableSsl": "Disabled"
},
"previewLimit": 50,
"server": "xigmanas",
"port": 3306,
"driver": "MariaDB",
"name": "vid",
"group": "sea",
"database": "vid",
"username": "itman"
},
{
"mysqlOptions": {
"authProtocol": "default",
"enableSsl": "Disabled"
},
"previewLimit": 50,
"server": "xigmanas",
"port": 3306,
"driver": "MariaDB",
"name": "sea",
"group": "sea",
"database": "sea",
"username": "itman"
}
],
"julia.environmentPath": "d:\\projects\\scan-vid"
}

@ -8,7 +8,7 @@
Лучше сохранить вывод ffprobe в отдельном файле, а затем его обработать, Лучше сохранить вывод ffprobe в отдельном файле, а затем его обработать,
чем сразу обрабатывать вывод а питоне. Так меньше ошибок! чем сразу обрабатывать вывод а питоне. Так меньше ошибок!
Выводит ращмер файла - для проверки на маленькие файлы. Выводит размер файла - для проверки на маленькие файлы.

2530
meta.sql

File diff suppressed because it is too large Load Diff

@ -116,7 +116,7 @@ def check_file(file):
info["height"] = data["streams"][0]["height"] info["height"] = data["streams"][0]["height"]
info["bit_rate"] = humanbitrate(data["streams"][0]["avg_frame_rate"]) info["bit_rate"] = humanbitrate(data["streams"][0]["avg_frame_rate"])
info["codec"] = data["streams"][0]["codec_name"] info["codec"] = data["streams"][0]["codec_name"]
info["filename"] = meta["name"] info["filename"] = os.path.basename(meta["name"])
info["ext"] = meta["ext"] info["ext"] = meta["ext"]
info["crc"] = meta["crc"] info["crc"] = meta["crc"]
info["created"] = meta["date"] info["created"] = meta["date"]
@ -143,13 +143,38 @@ def valid_file(file):
return True return True
return False return False
def generate_sql(m):
cmd = """
('%s', %s, '%s',
'%s', '%s', %s, %s,
%s, '%s', %s, '%s', '%s',
'%s',
'%s', '%s', '%s', '%s'),\n""" % (
m["filename"], m["size"], m["hsize"],
m["duration"], m["hduration"], m["width"], m["height"],
m["bit_rate"], m["ext"], m["crc"], m["created"], m["hcreated"],
m["poster"],
m["audio"], m["codec"], m["tags"], m["type"] )
print(cmd)
return cmd
# =================== начало программы ==================== # =================== начало программы ====================
dir = "d:\\vids\\ero" dir = "d:\\vids\\ero"
log_errors = open("errors.log", "w", encoding="utf-8") log_errors = open("errors.log", "w", encoding="utf-8")
meta_file = open("meta.sql", "w", encoding="utf-8")
# подготовка sql
sql_file = open("meta.sql", "w", encoding="utf-8")
values = "\t(filename, size, hsize,"
values += " duration, hduration, width, height,"
values += " bitrate, ext, crc, created, hcreated,"
values += " poster, audio, codec, tags, type"
values += ")\n values"
cmd = "insert\n into filemeta\n%s" % values
sql_file.write(cmd)
cmd = ""
files = os.listdir(dir) files = os.listdir(dir)
for file in files: for file in files:
path = os.path.join(dir, file) path = os.path.join(dir, file)
@ -158,14 +183,25 @@ for file in files:
try: try:
meta = check_file(path) meta = check_file(path)
if meta != None: if meta != None:
meta_file.write("обработан: %s\n" % path) meta["type"] = "video"
meta["tags"] = ""
cmd += generate_sql(meta)
print(meta["filename"])
else: else:
log_errors.write("ошибка ffprobe : %s\n" % path) log_errors.write("ошибка ffprobe : %s\n" % path)
# предупреждение о маленьком файле
width = int(meta["width"])
if width < 400:
print("[%sx%s] %s" % (meta["width"], meta["height"], path)) print("[%sx%s] %s" % (meta["width"], meta["height"], path))
except: except:
log_errors.write("не удалось обработать файл: %s\n" % path) log_errors.write("не удалось обработать файл: %s\n" % path)
else: else:
log_errors.write("пропускаем файл: %s\n" % path) log_errors.write("пропускаем файл: %s\n" % path)
# меняем последнюю запятую на точку с запятой
cmd = cmd[:-3] + ";\n"
sql_file.write(cmd)
sql_file.close()
log_errors.close() log_errors.close()
meta_file.close()

@ -0,0 +1,2 @@
select * from filemeta limit 10
order by id desc;

@ -0,0 +1,3 @@
io = open("meta.sql")
list = readlines(io)
println(list)
Loading…
Cancel
Save