convert to 3 letter language code. Fixes

This commit is contained in:
clinton-hall 2016-09-21 11:12:42 +09:30
parent e5a46f581d
commit 319d418af8
2 changed files with 15 additions and 6 deletions
core/transcoder
tests

@ -11,6 +11,7 @@ import shutil
import re
from core import logger
from core.nzbToMediaUtil import makeDir
from babelfish import Language
def isVideoGood(videofile, status):
@ -428,12 +429,18 @@ def buildCommands(file, newDir, movieName, bitbucket):
sub_details, result = getVideoDetails(subfile)
if not sub_details or not sub_details.get("streams"):
continue
lan = os.path.splitext(os.path.splitext(subfile)[0])[1]
command.extend(['-i', subfile])
lansplit = lan.split('-')
if len(lansplit[0]) == 3 and ( len(lansplit) == 1 or ( len(lansplit) == 2 and len(lansplit[1]) == 2 ) ):
lan = os.path.splitext(os.path.splitext(subfile)[0])[1][1:].split('-')[0]
metlan = None
try:
if len(lan) == 3:
metlan = Language(lan)
if len(lan) == 2:
metlan = Language.fromalpha2(lan)
except: pass
if metlan:
meta_cmd.extend(['-metadata:s:s:{x}'.format(x=len(s_mapped) + n),
'language={lang}'.format(lang=lan[1:])])
'language={lang}'.format(lang=metlan.alpha3)])
n += 1
map_cmd.extend(['-map', '{x}:0'.format(x=n)])
@ -492,7 +499,7 @@ def extract_subs(file, newfilePath, bitbucket):
for n in range(num):
sub = subStreams[n]
idx = sub["index"]
lan = sub.geet("tags", {}).get("language", "unk")
lan = sub.get("tags", {}).get("language", "unk")
if num == 1:
outputFile = os.path.join(subdir, "{0}.srt".format(name))

@ -39,7 +39,9 @@ if server_responding("http://127.0.0.1:8090"):
print "Mylar Running"
from babelfish import Language
print Language('eng')
lan = 'pt'
lan = Language.fromalpha2(lan)
print lan.alpha3
import subliminal