diff --git a/src/app.js b/src/app.js index 9b64cb6d..1d804806 100755 --- a/src/app.js +++ b/src/app.js @@ -237,7 +237,7 @@ async function init() { const movieUrls = (argv.movie || []).concat(moviesFromFile || []); const sceneMovies = deepScenes && argv.sceneMovies ? deepScenes.filter((scene) => scene.movie).map((scene) => ({ ...scene.movie, entity: scene.entity })) : []; - const deepMovies = argv.sceneMovies || argv.movie || movieUrls ? await fetchMovies([...movieUrls, ...(sceneMovies || []), ...[]]) : sceneMovies; + const deepMovies = movieUrls.length > 0 || sceneMovies.length > 0 ? await fetchMovies([...movieUrls, ...sceneMovies]) : sceneMovies; const movieScenes = argv.movieScenes ? deepMovies.map((movie) => movie.scenes?.map((scene) => ({ ...scene, movie, entity: movie.entity }))).flat().filter(Boolean) : []; const deepMovieScenes = argv.deep ? await fetchScenes(movieScenes) : movieScenes; @@ -255,8 +255,14 @@ async function init() { await associateMovieScenes(storedMovies, allScenes); - await updateSceneSearch(allScenes.map((scene) => scene.id)); - await updateMovieSearch(storedMovies.map((movie) => movie.id)); + // refreshing the materialized views is slow, skip when nothing was stored (e.g. --request) + if (allScenes.length > 0) { + await updateSceneSearch(allScenes.map((scene) => scene.id)); + } + + if (storedMovies.length > 0) { + await updateMovieSearch(storedMovies.map((movie) => movie.id)); + } } logger.info(`Completed in ${Object.entries(intervalToDuration({ start: startTime, end: Date.now() }))