Improved movie scraping.
This commit is contained in:
@@ -290,7 +290,7 @@ async function storeClips(releases) {
|
||||
}
|
||||
|
||||
async function storeScenes(releases) {
|
||||
if (releases.length === 0) {
|
||||
if (!releases || releases.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -331,42 +331,36 @@ async function storeScenes(releases) {
|
||||
}
|
||||
|
||||
async function associateMovieScenes(movies, movieScenes) {
|
||||
const movieScenesByEntityIdAndEntryId = movieScenes.reduce((acc, scene) => ({
|
||||
const moviesByEntityIdAndEntryId = movies.reduce((acc, movie) => ({
|
||||
...acc,
|
||||
[scene.entity.id]: {
|
||||
...acc[scene.entity.id],
|
||||
[scene.entryId]: scene,
|
||||
[movie.entity.id]: {
|
||||
...acc[movie.entity.id],
|
||||
[movie.entryId]: movie,
|
||||
},
|
||||
}), {});
|
||||
|
||||
console.log('movies', movies, movieScenes);
|
||||
|
||||
const associations = movies.map((movie) => {
|
||||
if (!movie.scenes || !movie.id) {
|
||||
const associations = movieScenes.map((scene) => {
|
||||
if (!scene.movie) {
|
||||
return null;
|
||||
}
|
||||
|
||||
console.log(movie, movie.scenes);
|
||||
const sceneMovie = moviesByEntityIdAndEntryId[scene.entity.id]?.[scene.movie.entryId];
|
||||
|
||||
return movie.scenes.map((scene) => {
|
||||
const movieScene = movieScenesByEntityIdAndEntryId[movie.entity.id]?.[scene.entryId];
|
||||
if (sceneMovie?.id) {
|
||||
return {
|
||||
movie_id: sceneMovie.id,
|
||||
scene_id: scene.id,
|
||||
};
|
||||
}
|
||||
|
||||
if (movieScene?.id) {
|
||||
return {
|
||||
movie_id: movie.id,
|
||||
scene_id: movieScene.id,
|
||||
};
|
||||
}
|
||||
|
||||
return null;
|
||||
});
|
||||
}).flat().filter(Boolean);
|
||||
return null;
|
||||
}).filter(Boolean);
|
||||
|
||||
await bulkInsert('movies_scenes', associations, false);
|
||||
}
|
||||
|
||||
async function storeMovies(movies, movieScenes) {
|
||||
if (movies.length === 0) {
|
||||
async function storeMovies(movies) {
|
||||
if (!movies || movies.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -378,13 +372,13 @@ async function storeMovies(movies, movieScenes) {
|
||||
const storedMovies = await bulkInsert('movies', curatedMovieEntries, ['entity_id', 'entry_id'], true);
|
||||
const moviesWithId = attachReleaseIds(movies, storedMovies);
|
||||
|
||||
await associateMovieScenes(moviesWithId, movieScenes);
|
||||
await associateReleaseMedia(moviesWithId, 'movie');
|
||||
|
||||
return storedMovies;
|
||||
return moviesWithId;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
associateMovieScenes,
|
||||
storeScenes,
|
||||
storeMovies,
|
||||
updateReleasesSearch,
|
||||
|
||||
Reference in New Issue
Block a user