mirror of
https://github.com/morpheus65535/bazarr
synced 2025-02-06 22:42:10 +00:00
Merge branch 'development' into Flask
This commit is contained in:
commit
cceef33944
2 changed files with 65 additions and 78 deletions
|
@ -62,19 +62,21 @@ def update_series():
|
|||
seriesListLength = len(r.json())
|
||||
for i, show in enumerate(r.json(), 1):
|
||||
notifications.write(msg="Getting series data from Sonarr...", queue='get_series', item=i, length=seriesListLength)
|
||||
try:
|
||||
overview = six.text_type(show['overview'])
|
||||
except:
|
||||
overview = ""
|
||||
try:
|
||||
poster_big = show['images'][2]['url'].split('?')[0]
|
||||
poster = os.path.splitext(poster_big)[0] + '-250' + os.path.splitext(poster_big)[1]
|
||||
except:
|
||||
poster = ""
|
||||
try:
|
||||
fanart = show['images'][0]['url'].split('?')[0]
|
||||
except:
|
||||
fanart = ""
|
||||
|
||||
if 'overview' in show:
|
||||
overview = show['overview']
|
||||
else:
|
||||
overview = ''
|
||||
|
||||
poster = ''
|
||||
fanart = ''
|
||||
for image in show['images']:
|
||||
if image['coverType'] == 'poster':
|
||||
poster_big = image['url'].split('?')[0]
|
||||
poster = os.path.splitext(poster_big)[0] + '-250' + os.path.splitext(poster_big)[1]
|
||||
|
||||
if image['coverType'] == 'fanart':
|
||||
fanart = image['url'].split('?')[0]
|
||||
|
||||
if show['alternateTitles'] != None:
|
||||
alternateTitles = str([item['title'] for item in show['alternateTitles']])
|
||||
|
@ -85,17 +87,17 @@ def update_series():
|
|||
current_shows_sonarr.append(show['id'])
|
||||
|
||||
if show['id'] in current_shows_db_list:
|
||||
series_to_update.append({'title': six.text_type(show["title"]),
|
||||
'path': six.text_type(show["path"]),
|
||||
series_to_update.append({'title': show["title"],
|
||||
'path': show["path"],
|
||||
'tvdbId': int(show["tvdbId"]),
|
||||
'sonarrSeriesId': int(show["id"]),
|
||||
'overview': six.text_type(overview),
|
||||
'poster': six.text_type(poster),
|
||||
'fanart': six.text_type(fanart),
|
||||
'audio_language': six.text_type(profile_id_to_language((show['qualityProfileId'] if get_sonarr_version().startswith('2') else show['languageProfileId']), audio_profiles)),
|
||||
'sortTitle': six.text_type(show['sortTitle']),
|
||||
'year': six.text_type(show['year']),
|
||||
'alternateTitles': six.text_type(alternateTitles)})
|
||||
'overview': overview,
|
||||
'poster': poster,
|
||||
'fanart': fanart,
|
||||
'audio_language': profile_id_to_language((show['qualityProfileId'] if get_sonarr_version().startswith('2') else show['languageProfileId']), audio_profiles),
|
||||
'sortTitle': show['sortTitle'],
|
||||
'year': show['year'],
|
||||
'alternateTitles': alternateTitles})
|
||||
else:
|
||||
if serie_default_enabled is True:
|
||||
series_to_add.append({'title': show["title"],
|
||||
|
|
|
@ -40,6 +40,7 @@ from analytics import track_event
|
|||
import six
|
||||
from six.moves import range
|
||||
from functools import reduce
|
||||
from locale import getpreferredencoding
|
||||
|
||||
|
||||
def get_video(path, title, sceneName, use_scenename, providers=None, media_type="movie"):
|
||||
|
@ -234,34 +235,7 @@ def download_subtitle(path, language, hi, forced, providers, providers_auth, sce
|
|||
command = pp_replace(postprocessing_cmd, path, downloaded_path, downloaded_language,
|
||||
downloaded_language_code2, downloaded_language_code3,
|
||||
subtitle.language.forced)
|
||||
try:
|
||||
if os.name == 'nt':
|
||||
codepage = subprocess.Popen("chcp", shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
# wait for the process to terminate
|
||||
out_codepage, err_codepage = codepage.communicate()
|
||||
encoding = out_codepage.split(':')[-1].strip()
|
||||
|
||||
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
# wait for the process to terminate
|
||||
out, err = process.communicate()
|
||||
|
||||
if os.name == 'nt':
|
||||
out = out.decode(encoding)
|
||||
|
||||
except:
|
||||
if out == "":
|
||||
logging.error(
|
||||
'BAZARR Post-processing result for file ' + path + ' : Nothing returned from command execution')
|
||||
else:
|
||||
logging.error('BAZARR Post-processing result for file ' + path + ' : ' + out)
|
||||
else:
|
||||
if out == "":
|
||||
logging.info(
|
||||
'BAZARR Post-processing result for file ' + path + ' : Nothing returned from command execution')
|
||||
else:
|
||||
logging.info('BAZARR Post-processing result for file ' + path + ' : ' + out)
|
||||
postprocessing(command, path)
|
||||
|
||||
# fixme: support multiple languages at once
|
||||
if media_type == 'series':
|
||||
|
@ -459,34 +433,7 @@ def manual_download_subtitle(path, language, hi, forced, subtitle, provider, pro
|
|||
command = pp_replace(postprocessing_cmd, path, downloaded_path, downloaded_language,
|
||||
downloaded_language_code2, downloaded_language_code3,
|
||||
subtitle.language.forced)
|
||||
try:
|
||||
if os.name == 'nt':
|
||||
codepage = subprocess.Popen("chcp", shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
# wait for the process to terminate
|
||||
out_codepage, err_codepage = codepage.communicate()
|
||||
encoding = out_codepage.split(':')[-1].strip()
|
||||
|
||||
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
# wait for the process to terminate
|
||||
out, err = process.communicate()
|
||||
|
||||
if os.name == 'nt':
|
||||
out = out.decode(encoding)
|
||||
|
||||
except:
|
||||
if out == "":
|
||||
logging.error(
|
||||
'BAZARR Post-processing result for file ' + path + ' : Nothing returned from command execution')
|
||||
else:
|
||||
logging.error('BAZARR Post-processing result for file ' + path + ' : ' + out)
|
||||
else:
|
||||
if out == "":
|
||||
logging.info(
|
||||
'BAZARR Post-processing result for file ' + path + ' : Nothing returned from command execution')
|
||||
else:
|
||||
logging.info('BAZARR Post-processing result for file ' + path + ' : ' + out)
|
||||
postprocessing(command, path)
|
||||
|
||||
if media_type == 'series':
|
||||
reversed_path = path_replace_reverse(path)
|
||||
|
@ -1173,3 +1120,41 @@ def upgrade_subtitles():
|
|||
store_subtitles_movie(movie['video_path'], path_replace_movie(movie['video_path']))
|
||||
history_log_movie(3, movie['radarrId'], message, path, language_code, provider, score)
|
||||
send_notifications_movie(movie['radarrId'], message)
|
||||
|
||||
|
||||
def postprocessing(command, path):
|
||||
try:
|
||||
encoding = getpreferredencoding()
|
||||
if os.name == 'nt':
|
||||
if six.PY3:
|
||||
codepage = subprocess.Popen("chcp", shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE, encoding=getpreferredencoding())
|
||||
else:
|
||||
codepage = subprocess.Popen("chcp", shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
# wait for the process to terminate
|
||||
out_codepage, err_codepage = codepage.communicate()
|
||||
encoding = out_codepage.split(':')[-1].strip()
|
||||
|
||||
if six.PY3:
|
||||
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE, encoding=encoding)
|
||||
else:
|
||||
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
# wait for the process to terminate
|
||||
out, err = process.communicate()
|
||||
|
||||
if six.PY2:
|
||||
out = out.decode(encoding)
|
||||
|
||||
out = out.replace('\n', ' ').replace('\r', ' ')
|
||||
|
||||
except Exception as e:
|
||||
logging.error('BAZARR Post-processing failed for file ' + path + ' : ' + repr(e))
|
||||
else:
|
||||
if out == "":
|
||||
logging.info(
|
||||
'BAZARR Post-processing result for file ' + path + ' : Nothing returned from command execution')
|
||||
else:
|
||||
logging.info('BAZARR Post-processing result for file ' + path + ' : ' + out)
|
||||
|
|
Loading…
Reference in a new issue