mirror of
https://github.com/morpheus65535/bazarr
synced 2025-03-01 00:55:52 +00:00
WIP
This commit is contained in:
parent
d1718de41b
commit
258d66c45f
4 changed files with 30 additions and 9 deletions
|
@ -223,7 +223,9 @@ class FileWatcher:
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
logging.info('BAZARR is starting file system watchers...')
|
logging.info('BAZARR is starting file system watchers...')
|
||||||
|
if settings.general.getboolean('use_series'):
|
||||||
self.series_observer.start()
|
self.series_observer.start()
|
||||||
|
if settings.general.getboolean('use_movies'):
|
||||||
self.movies_observer.start()
|
self.movies_observer.start()
|
||||||
self.config()
|
self.config()
|
||||||
logging.info('BAZARR is watching for file system changes.')
|
logging.info('BAZARR is watching for file system changes.')
|
||||||
|
|
|
@ -5,7 +5,7 @@ import re
|
||||||
import logging
|
import logging
|
||||||
from indexer.tmdb_caching_proxy import tmdb
|
from indexer.tmdb_caching_proxy import tmdb
|
||||||
from database import TableMoviesRootfolder, TableMovies
|
from database import TableMoviesRootfolder, TableMovies
|
||||||
from event_handler import show_progress, hide_progress
|
from event_handler import event_stream, show_progress, hide_progress
|
||||||
from indexer.video_prop_reader import video_prop_reader
|
from indexer.video_prop_reader import video_prop_reader
|
||||||
from indexer.tmdb_caching_proxy import tmdb_func_cache
|
from indexer.tmdb_caching_proxy import tmdb_func_cache
|
||||||
from indexer.utils import normalize_title, VIDEO_EXTENSION
|
from indexer.utils import normalize_title, VIDEO_EXTENSION
|
||||||
|
@ -48,7 +48,7 @@ def list_movies_directories(root_dir_id):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
finally:
|
finally:
|
||||||
return movies_directories
|
return sorted(movies_directories, key=lambda d: d['directory'])
|
||||||
|
|
||||||
|
|
||||||
def get_movies_match(directory):
|
def get_movies_match(directory):
|
||||||
|
@ -188,7 +188,10 @@ def update_indexed_movies():
|
||||||
# delete removed movie form database
|
# delete removed movie form database
|
||||||
if not os.path.exists(existing_movie['path']):
|
if not os.path.exists(existing_movie['path']):
|
||||||
TableMovies.delete().where(TableMovies.path == existing_movie['path']).execute()
|
TableMovies.delete().where(TableMovies.path == existing_movie['path']).execute()
|
||||||
# update existing episodes metadata
|
event_stream(type='movie', action='delete', payload=existing_movie['movieId'])
|
||||||
|
event_stream(type='movie-wanted', action='delete', payload=existing_movie['movieId'])
|
||||||
|
event_stream(type='badges')
|
||||||
|
# update existing movies metadata
|
||||||
else:
|
else:
|
||||||
movie_metadata = get_movies_metadata(tmdbid=existing_movie['tmdbId'],
|
movie_metadata = get_movies_metadata(tmdbid=existing_movie['tmdbId'],
|
||||||
root_dir_id=root_dir_id['rootId'],
|
root_dir_id=root_dir_id['rootId'],
|
||||||
|
@ -206,6 +209,9 @@ def update_indexed_movies():
|
||||||
existing_movie['movieId']).execute()
|
existing_movie['movieId']).execute()
|
||||||
store_subtitles_movie(existing_movie['path'],
|
store_subtitles_movie(existing_movie['path'],
|
||||||
use_cache=settings.movies.getboolean('use_ffprobe_cache'))
|
use_cache=settings.movies.getboolean('use_ffprobe_cache'))
|
||||||
|
event_stream(type='movie', action='update', payload=existing_movie['movieId'])
|
||||||
|
event_stream(type='movie-wanted', action='update', payload=existing_movie['movieId'])
|
||||||
|
event_stream(type='badges')
|
||||||
existing_movies_iteration_number += 1
|
existing_movies_iteration_number += 1
|
||||||
hide_progress(id="m2_updating_existing_subdirectories_movies")
|
hide_progress(id="m2_updating_existing_subdirectories_movies")
|
||||||
|
|
||||||
|
@ -247,6 +253,15 @@ def update_indexed_movies():
|
||||||
if result:
|
if result:
|
||||||
# once added to the db, we'll index existing subtitles and calculate the missing ones
|
# once added to the db, we'll index existing subtitles and calculate the missing ones
|
||||||
store_subtitles_movie(directory_metadata['path'], use_cache=False)
|
store_subtitles_movie(directory_metadata['path'], use_cache=False)
|
||||||
|
|
||||||
|
movie_id = TableMovies.select(TableMovies.movieId)\
|
||||||
|
.where(TableMovies.path == directory_metadata['path'])\
|
||||||
|
.dicts()\
|
||||||
|
.get()
|
||||||
|
|
||||||
|
event_stream(type='movie', action='update', payload=movie_id['movieId'])
|
||||||
|
event_stream(type='movie-wanted', action='update', payload=movie_id['movieId'])
|
||||||
|
event_stream(type='badges')
|
||||||
root_dir_subdirectories_iteration_number += 1
|
root_dir_subdirectories_iteration_number += 1
|
||||||
hide_progress(id="m2_adding_new_subdirectories_movies")
|
hide_progress(id="m2_adding_new_subdirectories_movies")
|
||||||
hide_progress(id="m1_indexing_root_dirs")
|
hide_progress(id="m1_indexing_root_dirs")
|
||||||
|
|
|
@ -5,7 +5,7 @@ import re
|
||||||
import logging
|
import logging
|
||||||
from indexer.tmdb_caching_proxy import tmdb
|
from indexer.tmdb_caching_proxy import tmdb
|
||||||
from database import TableShowsRootfolder, TableShows
|
from database import TableShowsRootfolder, TableShows
|
||||||
from event_handler import show_progress, hide_progress
|
from event_handler import event_stream, show_progress, hide_progress
|
||||||
from indexer.tmdb_caching_proxy import tmdb_func_cache
|
from indexer.tmdb_caching_proxy import tmdb_func_cache
|
||||||
from indexer.utils import normalize_title
|
from indexer.utils import normalize_title
|
||||||
from .episodes_indexer import update_series_episodes
|
from .episodes_indexer import update_series_episodes
|
||||||
|
@ -46,7 +46,7 @@ def list_series_directories(root_dir):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
finally:
|
finally:
|
||||||
return series_directories
|
return sorted(series_directories, key=lambda d: d['directory'])
|
||||||
|
|
||||||
|
|
||||||
def get_series_match(directory):
|
def get_series_match(directory):
|
||||||
|
@ -150,12 +150,14 @@ def update_indexed_series():
|
||||||
existing_subdirectories_len = len(existing_subdirectories)
|
existing_subdirectories_len = len(existing_subdirectories)
|
||||||
existing_subdirectories_iteration_number = 0
|
existing_subdirectories_iteration_number = 0
|
||||||
for existing_subdirectory in existing_subdirectories:
|
for existing_subdirectory in existing_subdirectories:
|
||||||
|
show_metadata = TableShows.select().where(TableShows.path == existing_subdirectory).dicts().get()
|
||||||
|
|
||||||
# delete removed series from database
|
# delete removed series from database
|
||||||
if not os.path.exists(existing_subdirectory):
|
if not os.path.exists(existing_subdirectory):
|
||||||
TableShows.delete().where(TableShows.path == existing_subdirectory).execute()
|
TableShows.delete().where(TableShows.path == existing_subdirectory).execute()
|
||||||
|
event_stream(type='series', action='delete', payload=show_metadata['seriesId'])
|
||||||
# update existing series metadata
|
# update existing series metadata
|
||||||
else:
|
else:
|
||||||
show_metadata = TableShows.select().where(TableShows.path == existing_subdirectory).dicts().get()
|
|
||||||
directory_metadata = get_series_metadata(show_metadata['tmdbId'], root_dir_id['rootId'])
|
directory_metadata = get_series_metadata(show_metadata['tmdbId'], root_dir_id['rootId'])
|
||||||
if directory_metadata:
|
if directory_metadata:
|
||||||
show_progress(
|
show_progress(
|
||||||
|
@ -170,6 +172,7 @@ def update_indexed_series():
|
||||||
.where(TableShows.tmdbId == show_metadata['tmdbId'])\
|
.where(TableShows.tmdbId == show_metadata['tmdbId'])\
|
||||||
.execute()
|
.execute()
|
||||||
if result:
|
if result:
|
||||||
|
event_stream(type='series', action='update', payload=show_metadata['seriesId'])
|
||||||
update_series_episodes(seriesId=show_metadata['seriesId'],
|
update_series_episodes(seriesId=show_metadata['seriesId'],
|
||||||
use_cache=settings.series.getboolean('use_ffprobe_cache'))
|
use_cache=settings.series.getboolean('use_ffprobe_cache'))
|
||||||
existing_subdirectories_iteration_number += 1
|
existing_subdirectories_iteration_number += 1
|
||||||
|
@ -207,6 +210,7 @@ def update_indexed_series():
|
||||||
f'"{directory_metadata["path"]}". The exception encountered is "{e}".')
|
f'"{directory_metadata["path"]}". The exception encountered is "{e}".')
|
||||||
else:
|
else:
|
||||||
if series_id:
|
if series_id:
|
||||||
|
event_stream(type='series', action='update', payload=series_id)
|
||||||
# once added to the db, we'll check for episodes for this series
|
# once added to the db, we'll check for episodes for this series
|
||||||
update_series_episodes(seriesId=series_id, use_cache=False)
|
update_series_episodes(seriesId=series_id, use_cache=False)
|
||||||
new_directories_iteration_number += 1
|
new_directories_iteration_number += 1
|
||||||
|
|
|
@ -68,7 +68,7 @@ def store_subtitles(path, use_cache=True):
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
logging.debug("BAZARR unable to index this unrecognized language: %s (%s)", subtitle_language,
|
logging.debug("BAZARR unable to index this unrecognized language: %s (%s)", subtitle_language,
|
||||||
error)
|
error)
|
||||||
except Exception as e:
|
except Exception:
|
||||||
logging.exception(
|
logging.exception(
|
||||||
"BAZARR error when trying to analyze this %s file: %s" % (os.path.splitext(path)[1], path))
|
"BAZARR error when trying to analyze this %s file: %s" % (os.path.splitext(path)[1], path))
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in a new issue