mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-07-16 02:02:53 -07:00
Fix strings for Python 3
`basestring` not available in Python 3 `unicode` not available in Python 3 `str` expected instead of `bytes`
This commit is contained in:
parent
4ee656f22c
commit
f5f6562fe9
3 changed files with 28 additions and 23 deletions
|
@ -316,6 +316,7 @@ class autoProcessTV(object):
|
||||||
else:
|
else:
|
||||||
for line in r.iter_lines():
|
for line in r.iter_lines():
|
||||||
if line:
|
if line:
|
||||||
|
line = line.decode('utf-8')
|
||||||
logger.postprocess("{0}".format(line), section)
|
logger.postprocess("{0}".format(line), section)
|
||||||
if "Moving file from" in line:
|
if "Moving file from" in line:
|
||||||
inputName = os.path.split(line)[1]
|
inputName = os.path.split(line)[1]
|
||||||
|
|
|
@ -202,8 +202,10 @@ def category_search(inputDirectory, inputName, inputCategory, root, categories):
|
||||||
def getDirSize(inputPath):
|
def getDirSize(inputPath):
|
||||||
from functools import partial
|
from functools import partial
|
||||||
prepend = partial(os.path.join, inputPath)
|
prepend = partial(os.path.join, inputPath)
|
||||||
return sum(
|
return sum([
|
||||||
[(os.path.getsize(f) if os.path.isfile(f) else getDirSize(f)) for f in map(prepend, os.listdir(unicode(inputPath)))])
|
(os.path.getsize(f) if os.path.isfile(f) else getDirSize(f))
|
||||||
|
for f in map(prepend, os.listdir(text_type(inputPath)))
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
def is_minSize(inputName, minSize):
|
def is_minSize(inputName, minSize):
|
||||||
|
@ -330,7 +332,7 @@ def removeEmptyFolders(path, removeRoot=True):
|
||||||
|
|
||||||
# remove empty subfolders
|
# remove empty subfolders
|
||||||
logger.debug("Checking for empty folders in:{0}".format(path))
|
logger.debug("Checking for empty folders in:{0}".format(path))
|
||||||
files = os.listdir(unicode(path))
|
files = os.listdir(text_type(path))
|
||||||
if len(files):
|
if len(files):
|
||||||
for f in files:
|
for f in files:
|
||||||
fullpath = os.path.join(path, f)
|
fullpath = os.path.join(path, f)
|
||||||
|
@ -338,7 +340,7 @@ def removeEmptyFolders(path, removeRoot=True):
|
||||||
removeEmptyFolders(fullpath)
|
removeEmptyFolders(fullpath)
|
||||||
|
|
||||||
# if folder empty, delete it
|
# if folder empty, delete it
|
||||||
files = os.listdir(unicode(path))
|
files = os.listdir(text_type(path))
|
||||||
if len(files) == 0 and removeRoot:
|
if len(files) == 0 and removeRoot:
|
||||||
logger.debug("Removing empty folder:{}".format(path))
|
logger.debug("Removing empty folder:{}".format(path))
|
||||||
os.rmdir(path)
|
os.rmdir(path)
|
||||||
|
@ -417,7 +419,7 @@ def CharReplace(Name):
|
||||||
# If there is special character, detects if it is a UTF-8, CP850 or ISO-8859-15 encoding
|
# If there is special character, detects if it is a UTF-8, CP850 or ISO-8859-15 encoding
|
||||||
encoded = False
|
encoded = False
|
||||||
encoding = None
|
encoding = None
|
||||||
if isinstance(Name, unicode):
|
if isinstance(Name, text_type):
|
||||||
return encoded, Name.encode(core.SYS_ENCODING)
|
return encoded, Name.encode(core.SYS_ENCODING)
|
||||||
for Idx in range(len(Name)):
|
for Idx in range(len(Name)):
|
||||||
# /!\ detection is done 2char by 2char for UTF-8 special character
|
# /!\ detection is done 2char by 2char for UTF-8 special character
|
||||||
|
@ -644,9 +646,9 @@ def getDirs(section, subsection, link='hard'):
|
||||||
folders = []
|
folders = []
|
||||||
|
|
||||||
logger.info("Searching {0} for mediafiles to post-process ...".format(path))
|
logger.info("Searching {0} for mediafiles to post-process ...".format(path))
|
||||||
sync = [o for o in os.listdir(unicode(path)) if os.path.splitext(o)[1] in ['.!sync', '.bts']]
|
sync = [o for o in os.listdir(text_type(path)) if os.path.splitext(o)[1] in ['.!sync', '.bts']]
|
||||||
# search for single files and move them into their own folder for post-processing
|
# search for single files and move them into their own folder for post-processing
|
||||||
for mediafile in [os.path.join(path, o) for o in os.listdir(unicode(path)) if
|
for mediafile in [os.path.join(path, o) for o in os.listdir(text_type(path)) if
|
||||||
os.path.isfile(os.path.join(path, o))]:
|
os.path.isfile(os.path.join(path, o))]:
|
||||||
if len(sync) > 0:
|
if len(sync) > 0:
|
||||||
break
|
break
|
||||||
|
@ -710,11 +712,11 @@ def getDirs(section, subsection, link='hard'):
|
||||||
|
|
||||||
# removeEmptyFolders(path, removeRoot=False)
|
# removeEmptyFolders(path, removeRoot=False)
|
||||||
|
|
||||||
if os.listdir(unicode(path)):
|
if os.listdir(text_type(path)):
|
||||||
for dir in [os.path.join(path, o) for o in os.listdir(unicode(path)) if
|
for dir in [os.path.join(path, o) for o in os.listdir(text_type(path)) if
|
||||||
os.path.isdir(os.path.join(path, o))]:
|
os.path.isdir(os.path.join(path, o))]:
|
||||||
sync = [o for o in os.listdir(unicode(dir)) if os.path.splitext(o)[1] in ['.!sync', '.bts']]
|
sync = [o for o in os.listdir(text_type(dir)) if os.path.splitext(o)[1] in ['.!sync', '.bts']]
|
||||||
if len(sync) > 0 or len(os.listdir(unicode(dir))) == 0:
|
if len(sync) > 0 or len(os.listdir(text_type(dir))) == 0:
|
||||||
continue
|
continue
|
||||||
folders.extend([dir])
|
folders.extend([dir])
|
||||||
return folders
|
return folders
|
||||||
|
@ -765,7 +767,7 @@ def onerror(func, path, exc_info):
|
||||||
def rmDir(dirName):
|
def rmDir(dirName):
|
||||||
logger.info("Deleting {0}".format(dirName))
|
logger.info("Deleting {0}".format(dirName))
|
||||||
try:
|
try:
|
||||||
shutil.rmtree(unicode(dirName), onerror=onerror)
|
shutil.rmtree(text_type(dirName), onerror=onerror)
|
||||||
except:
|
except:
|
||||||
logger.error("Unable to delete folder {0}".format(dirName))
|
logger.error("Unable to delete folder {0}".format(dirName))
|
||||||
|
|
||||||
|
@ -1050,7 +1052,7 @@ def listMediaFiles(path, minSize=0, delete_ignored=0, media=True, audio=True, me
|
||||||
|
|
||||||
return files
|
return files
|
||||||
|
|
||||||
for curFile in os.listdir(unicode(path)):
|
for curFile in os.listdir(text_type(path)):
|
||||||
fullCurFile = os.path.join(path, curFile)
|
fullCurFile = os.path.join(path, curFile)
|
||||||
|
|
||||||
# if it's a folder do it recursively
|
# if it's a folder do it recursively
|
||||||
|
@ -1087,7 +1089,7 @@ def find_imdbid(dirName, inputName, omdbApiKey):
|
||||||
logger.info("Found imdbID [{0}]".format(imdbid))
|
logger.info("Found imdbID [{0}]".format(imdbid))
|
||||||
return imdbid
|
return imdbid
|
||||||
if os.path.isdir(dirName):
|
if os.path.isdir(dirName):
|
||||||
for file in os.listdir(unicode(dirName)):
|
for file in os.listdir(text_type(dirName)):
|
||||||
m = re.search('(tt\d{7})', file)
|
m = re.search('(tt\d{7})', file)
|
||||||
if m:
|
if m:
|
||||||
imdbid = m.group(1)
|
imdbid = m.group(1)
|
||||||
|
|
|
@ -9,7 +9,7 @@ import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from babelfish import Language
|
from babelfish import Language
|
||||||
from six import iteritems
|
from six import iteritems, text_type, string_types
|
||||||
|
|
||||||
import core
|
import core
|
||||||
from core import logger
|
from core import logger
|
||||||
|
@ -117,7 +117,7 @@ def getVideoDetails(videofile, img=None, bitbucket=None):
|
||||||
|
|
||||||
|
|
||||||
def buildCommands(file, newDir, movieName, bitbucket):
|
def buildCommands(file, newDir, movieName, bitbucket):
|
||||||
if isinstance(file, basestring):
|
if isinstance(file, string_types):
|
||||||
inputFile = file
|
inputFile = file
|
||||||
if 'concat:' in file:
|
if 'concat:' in file:
|
||||||
file = file.split('|')[0].replace('concat:', '')
|
file = file.split('|')[0].replace('concat:', '')
|
||||||
|
@ -480,13 +480,15 @@ def buildCommands(file, newDir, movieName, bitbucket):
|
||||||
continue
|
continue
|
||||||
command.extend(['-i', subfile])
|
command.extend(['-i', subfile])
|
||||||
lan = os.path.splitext(os.path.splitext(subfile)[0])[1][1:].split('-')[0]
|
lan = os.path.splitext(os.path.splitext(subfile)[0])[1][1:].split('-')[0]
|
||||||
|
lan = text_type(lan)
|
||||||
metlan = None
|
metlan = None
|
||||||
try:
|
try:
|
||||||
if len(lan) == 3:
|
if len(lan) == 3:
|
||||||
metlan = Language(lan)
|
metlan = Language(lan)
|
||||||
if len(lan) == 2:
|
if len(lan) == 2:
|
||||||
metlan = Language.fromalpha2(lan)
|
metlan = Language.fromalpha2(lan)
|
||||||
except: pass
|
except:
|
||||||
|
pass
|
||||||
if metlan:
|
if metlan:
|
||||||
meta_cmd.extend(['-metadata:s:s:{x}'.format(x=len(s_mapped) + n),
|
meta_cmd.extend(['-metadata:s:s:{x}'.format(x=len(s_mapped) + n),
|
||||||
'language={lang}'.format(lang=metlan.alpha3)])
|
'language={lang}'.format(lang=metlan.alpha3)])
|
||||||
|
@ -616,7 +618,7 @@ def processList(List, newDir, bitbucket):
|
||||||
if combine:
|
if combine:
|
||||||
newList.extend(combineCD(combine))
|
newList.extend(combineCD(combine))
|
||||||
for file in newList:
|
for file in newList:
|
||||||
if isinstance(file, basestring) and 'concat:' not in file and not os.path.isfile(file):
|
if isinstance(file, string_types) and 'concat:' not in file and not os.path.isfile(file):
|
||||||
success = False
|
success = False
|
||||||
break
|
break
|
||||||
if success and newList:
|
if success and newList:
|
||||||
|
@ -751,13 +753,13 @@ def Transcode_directory(dirName):
|
||||||
return 1, dirName
|
return 1, dirName
|
||||||
|
|
||||||
for file in List:
|
for file in List:
|
||||||
if isinstance(file, basestring) and os.path.splitext(file)[1] in core.IGNOREEXTENSIONS:
|
if isinstance(file, string_types) and os.path.splitext(file)[1] in core.IGNOREEXTENSIONS:
|
||||||
continue
|
continue
|
||||||
command = buildCommands(file, newDir, movieName, bitbucket)
|
command = buildCommands(file, newDir, movieName, bitbucket)
|
||||||
newfilePath = command[-1]
|
newfilePath = command[-1]
|
||||||
|
|
||||||
# transcoding files may remove the original file, so make sure to extract subtitles first
|
# transcoding files may remove the original file, so make sure to extract subtitles first
|
||||||
if core.SEXTRACT and isinstance(file, basestring):
|
if core.SEXTRACT and isinstance(file, string_types):
|
||||||
extract_subs(file, newfilePath, bitbucket)
|
extract_subs(file, newfilePath, bitbucket)
|
||||||
|
|
||||||
try: # Try to remove the file that we're transcoding to just in case. (ffmpeg will return an error if it already exists for some reason)
|
try: # Try to remove the file that we're transcoding to just in case. (ffmpeg will return an error if it already exists for some reason)
|
||||||
|
@ -772,7 +774,7 @@ def Transcode_directory(dirName):
|
||||||
print_cmd(command)
|
print_cmd(command)
|
||||||
result = 1 # set result to failed in case call fails.
|
result = 1 # set result to failed in case call fails.
|
||||||
try:
|
try:
|
||||||
if isinstance(file, basestring):
|
if isinstance(file, string_types):
|
||||||
proc = subprocess.Popen(command, stdout=bitbucket, stderr=bitbucket)
|
proc = subprocess.Popen(command, stdout=bitbucket, stderr=bitbucket)
|
||||||
else:
|
else:
|
||||||
img, data = next(iteritems(file))
|
img, data = next(iteritems(file))
|
||||||
|
@ -787,7 +789,7 @@ def Transcode_directory(dirName):
|
||||||
except:
|
except:
|
||||||
logger.error("Transcoding of video {0} has failed".format(newfilePath))
|
logger.error("Transcoding of video {0} has failed".format(newfilePath))
|
||||||
|
|
||||||
if core.SUBSDIR and result == 0 and isinstance(file, basestring):
|
if core.SUBSDIR and result == 0 and isinstance(file, string_types):
|
||||||
for sub in get_subs(file):
|
for sub in get_subs(file):
|
||||||
name = os.path.splitext(os.path.split(file)[1])[0]
|
name = os.path.splitext(os.path.split(file)[1])[0]
|
||||||
subname = os.path.split(sub)[1]
|
subname = os.path.split(sub)[1]
|
||||||
|
@ -817,7 +819,7 @@ def Transcode_directory(dirName):
|
||||||
os.unlink(file)
|
os.unlink(file)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if not os.listdir(unicode(newDir)): # this is an empty directory and we didn't transcode into it.
|
if not os.listdir(text_type(newDir)): # this is an empty directory and we didn't transcode into it.
|
||||||
os.rmdir(newDir)
|
os.rmdir(newDir)
|
||||||
newDir = dirName
|
newDir = dirName
|
||||||
if not core.PROCESSOUTPUT and core.DUPLICATE: # We postprocess the original files to CP/SB
|
if not core.PROCESSOUTPUT and core.DUPLICATE: # We postprocess the original files to CP/SB
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue