Initial commit.
This commit is contained in:
1
mkv_sub_fix/__init__.py
Normal file
1
mkv_sub_fix/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from .mkv_sub_fix import *
|
27
mkv_sub_fix/mkv_sub_fix.py
Normal file
27
mkv_sub_fix/mkv_sub_fix.py
Normal file
@ -0,0 +1,27 @@
|
||||
import subprocess
|
||||
import os
|
||||
import json
|
||||
|
||||
|
||||
def isMkvpropeditAvailable():
|
||||
if subprocess.run("mkvpropedit"):
|
||||
print("mkvpropedit exists.")
|
||||
|
||||
|
||||
def getListOfSubtitles(filename):
|
||||
if not os.path.exists(filename):
|
||||
raise FileNotFoundError
|
||||
result = subprocess.run(
|
||||
["mkvmerge", "-i", filename, "-F", "json"], capture_output=True
|
||||
)
|
||||
if result.returncode == 0:
|
||||
info = json.loads(result.stdout)
|
||||
return {
|
||||
track["id"]: track["properties"]["language"]
|
||||
for track in info["tracks"]
|
||||
if track["type"] == "subtitles"
|
||||
}
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
getListOfSubtitles("/home/lukas/Downloads/test5.mkv")
|
Reference in New Issue
Block a user