1
0
Fork 0
mirror of https://github.com/morpheus65535/bazarr synced 2025-03-01 00:55:52 +00:00
This commit is contained in:
morpheus65535 2021-09-04 23:32:17 -04:00
parent cdc88e2a3b
commit df60298ffb
2 changed files with 45 additions and 8 deletions

View file

@ -1,8 +1,18 @@
# coding=utf-8 # coding=utf-8
from database import TableShowsRootfolder, TableMoviesRootfolder
def get_series_rootfolder(): def get_series_rootfolder():
pass rootfolders = TableShowsRootfolder.select().dicts()
def get_movies_rootfolder(): def get_movies_rootfolder():
rootfolders = TableMoviesRootfolder.select().dicts()
def check_series_rootfolder():
pass
def check_movies_rootfolder():
pass pass

View file

@ -1,8 +1,13 @@
from json import dumps
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../libs/'))
import os import os
import re import re
import logging import logging
import tmdbsimple as tmdb import tmdbsimple as tmdb
from database import database from database import TableShowsRootfolder, TableMoviesRootfolder
tmdb.API_KEY = 'e5577e69d409c601acb98d5bfcee31c7' tmdb.API_KEY = 'e5577e69d409c601acb98d5bfcee31c7'
@ -11,12 +16,17 @@ def list_series_directories(root_dir):
series_directories = [] series_directories = []
try: try:
root_dir_path = database.execute("SELECT path FROM t_rootdir WHERE id=?", (root_dir,), root_dir_path = TableShowsRootfolder.select(TableShowsRootfolder.path)\
only_one=True)['path'] .where(TableShowsRootfolder.id == root_dir)\
.dicts()\
.get()
except: except:
pass pass
else: else:
for i, directory_temp in enumerate(os.listdir(root_dir_path)): if not root_dir_path:
logging.debug(f'BAZARR cannot find the specified series root folder: {root_dir}')
return series_directories
for i, directory_temp in enumerate(os.listdir(root_dir_path['path'])):
directory_original = re.sub(r"\(\b(19|20)\d{2}\b\)", '', directory_temp).rstrip() directory_original = re.sub(r"\(\b(19|20)\d{2}\b\)", '', directory_temp).rstrip()
directory = re.sub(r"\s\b(19|20)\d{2}\b", '', directory_original).rstrip() directory = re.sub(r"\s\b(19|20)\d{2}\b", '', directory_original).rstrip()
if directory.endswith(', The'): if directory.endswith(', The'):
@ -78,11 +88,11 @@ def get_series_metadata(tmdbid):
series_metadata = { series_metadata = {
'title': series_info['original_name'], 'title': series_info['original_name'],
'sortTitle': normalize_title(series_info['original_name']), 'sortTitle': normalize_title(series_info['original_name']),
'year': series_info['first_air_date'][:4], 'year': series_info['first_air_date'][:4] if series_info['first_air_date'] else None,
'tmdbId': tmdbid, 'tmdbId': tmdbid,
'overview': series_info['overview'], 'overview': series_info['overview'],
'poster': images_url.format(series_info['poster_path']), 'poster': images_url.format(series_info['poster_path']) if series_info['poster_path'] else None,
'fanart': images_url.format(series_info['backdrop_path']), 'fanart': images_url.format(series_info['backdrop_path'])if series_info['backdrop_path'] else None,
'alternateTitles': [x['title'] for x in alternative_titles['results']], 'alternateTitles': [x['title'] for x in alternative_titles['results']],
'imdbId': external_ids['imdb_id'] 'imdbId': external_ids['imdb_id']
} }
@ -104,3 +114,20 @@ def normalize_title(title):
title = re.sub(DuplicateSpacesRegex, " ", title) title = re.sub(DuplicateSpacesRegex, " ", title)
return title.strip() return title.strip()
def index_all_series():
directories_metadata = []
root_dir_ids = TableShowsRootfolder.select(TableShowsRootfolder.id).dicts()
for root_dir_id in root_dir_ids:
root_dir_subdirectories = list_series_directories(root_dir_id['id'])
for root_dir_subdirectory in root_dir_subdirectories:
root_dir_match = get_series_match(root_dir_subdirectory['directory'])
if root_dir_match:
directories_metadata.append(get_series_metadata(root_dir_match[0]['tmdbId']))
return dumps(directories_metadata)
print(index_all_series())