Move tag posters and photos to media database.
This commit is contained in:
@@ -197,7 +197,6 @@ async function storeReleaseAssets(release, releaseId) {
|
||||
await createReleaseMediaDirectory(release, releaseId);
|
||||
|
||||
await Promise.all([
|
||||
associateActors(release, releaseId),
|
||||
associateTags(release, releaseId),
|
||||
storePhotos(release, releaseId),
|
||||
storePoster(release, releaseId),
|
||||
@@ -222,36 +221,59 @@ async function storeRelease(release) {
|
||||
})
|
||||
.returning('*');
|
||||
|
||||
await storeReleaseAssets(release, existingRelease.id);
|
||||
// await storeReleaseAssets(release, existingRelease.id);
|
||||
console.log(`Updated release "${release.title}" (${existingRelease.id}, ${release.site.name})`);
|
||||
|
||||
return updatedRelease || existingRelease;
|
||||
return updatedRelease ? updatedRelease.id : existingRelease.id;
|
||||
}
|
||||
|
||||
const [releaseEntry] = await knex('releases')
|
||||
.insert(curatedRelease)
|
||||
.returning('*');
|
||||
|
||||
await storeReleaseAssets(release, releaseEntry.id);
|
||||
// await storeReleaseAssets(release, releaseEntry.id);
|
||||
console.log(`Stored release "${release.title}" (${releaseEntry.id}, ${release.site.name})`);
|
||||
|
||||
return releaseEntry.id;
|
||||
}
|
||||
|
||||
async function storeReleases(releases) {
|
||||
return Promise.map(releases, async (release) => {
|
||||
const storedReleases = await Promise.map(releases, async (release) => {
|
||||
try {
|
||||
const releaseId = await storeRelease(release);
|
||||
|
||||
return releaseId;
|
||||
return {
|
||||
id: releaseId,
|
||||
...release,
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
|
||||
return null;
|
||||
}
|
||||
}, {
|
||||
concurrency: 2,
|
||||
concurrency: 10,
|
||||
});
|
||||
|
||||
const actors = storedReleases.reduce((acc, release) => {
|
||||
release.actors.forEach((actor) => {
|
||||
const trimmedActor = actor.trim();
|
||||
|
||||
if (acc[trimmedActor]) {
|
||||
acc[trimmedActor] = acc[trimmedActor].concat(release.id);
|
||||
return;
|
||||
}
|
||||
|
||||
acc[trimmedActor] = [release.id];
|
||||
});
|
||||
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
await Promise.all([
|
||||
associateActors(actors, storedReleases),
|
||||
Promise.all(storedReleases.map(async release => storeReleaseAssets(release, release.id))),
|
||||
]);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user