This commit is contained in:
2026-02-26 15:52:01 +01:00
parent c326143eb8
commit f0faa57e98
51 changed files with 21457 additions and 22 deletions

View File

@@ -0,0 +1,137 @@
import subprocess
import sys
from pathlib import Path
import os
from time import sleep
from threading import Thread
import threading
import re
import xml.etree.ElementTree as ET
file="metadata_refresh.txt"
max_threads=int(input("max threads: "))
print(type(max_threads))
i=0
output_folder_name ="/bulk_convert_out/mvkmergedupdated/"
target_bps_per_channel=96000
#audio_stringmap = ""
#droppedFile= ['E:\Shadowplay\Returnal"]
#get path of script location and remove the tail
#get path of script location and remove the tail
head_tail = os.path.split(sys.argv[0])
output_path = head_tail[0]
#skip first part of sys.argv since it points to script location
#arguments = sys.argv[1:]
#arguments = droppedFile
#check if output folder exists, otherwise create it
isExist = os.path.exists(output_path+output_folder_name)
if not isExist:
os.makedirs(output_path+output_folder_name)
def read_file(path=""):
with open(file,'r+') as f:
path = f.readlines(1)
all = f.readlines()
f.seek(0)
f.truncate()
f.writelines(all)
return path
class CustomThread(Thread):
# constructor
def __init__(self, input_file=""):
# execute the base constructor
Thread.__init__(self)
# set a default value
self.input_file = input_file
def run(self):
#sleep(1)
global i
file = str(input_file[0])
file = file.rstrip("\n")
pathlibname = Path(file)
show_folder_name = pathlibname.parent.parent.name
season_folder_name = "/" + pathlibname.parent.name
isExist = os.path.exists(output_path+output_folder_name+show_folder_name)
if not isExist:
os.makedirs(output_path+output_folder_name+show_folder_name)
sleep(1)
isExist = os.path.exists(output_path+output_folder_name+show_folder_name+season_folder_name)
if not isExist:
os.makedirs(output_path+output_folder_name+show_folder_name+season_folder_name)
sleep(1)
sleep(1)
#os.rename(file, file+"i")
mkvmerge_input = file
basename = os.path.basename(file)
mkv_args = 'mkvmerge.exe --output "{output_path}{output_folder_name}/{show_folder_name}/{season_folder_name}/{basename}" "{mkvmerge_input}"'.format(basename=basename, file=file, output_path=output_path,season_folder_name=season_folder_name,show_folder_name=show_folder_name, output_folder_name=output_folder_name, mkvmerge_input=mkvmerge_input)
mkv_run = subprocess.Popen(mkv_args)
#wait = mkv_run.wait()
data = mkv_run.wait()
print("before remove file")
#os.remove(file+"i")
basename = os.path.basename(file)
print(file)
sleep(1)
if data == 0:
i=i-1
filesize = os.path.getsize(file)
while filesize != 0:
if i < max_threads:
global self
filesize = os.path.getsize(file)
if filesize != 0:
input_file = read_file()
print(input_file)
t1 = CustomThread(input_file)
t1.start()
if filesize == 0:
while bool(threading.active_count() > 1):
print("Finished","out of", )
sleep(1)
filesize = os.path.getsize(file)
if filesize != 0:
print("breaking while")
break
filesize = os.path.getsize(file)
if filesize != 0:
print("breaking if")
continue
t1.join()
print("Completed","out of", "inputs Successfully")
input("waiting")
exit()
print("incrementing i in loop")
i=i+1
else:
print("Finished ","out of ")
sleep(1)
print("continuing ")