Simplified tag media seed file. Renamed tags. Media refactor experiment.

This commit is contained in:
2020-01-08 23:33:24 +01:00
parent 4c28c8b640
commit 863df38b29
28 changed files with 342 additions and 313 deletions

View File

@@ -11,6 +11,7 @@ const { associateActors } = require('./actors');
const {
createMediaDirectory,
storePhotos,
// storeReleasePhotos,
storeTrailer,
} = require('./media');
const { fetchSites, findSiteByUrl } = require('./sites');
@@ -309,41 +310,49 @@ function accumulateMovies(releases) {
}, {});
}
async function storeReleaseAssets(release, releaseId) {
const subpath = `${release.site.network.slug}/${release.site.slug}/${release.id}/`;
const identifier = `"${release.title}" (${releaseId})`;
async function storeReleaseAssets(releases) {
// await storeReleasePhotos(releases);
await createMediaDirectory('releases', subpath);
await Promise.map(releases, async (release) => {
const subpath = `${release.site.network.slug}/${release.site.slug}/${release.id}/`;
const identifier = `"${release.title}" (${release.id})`;
try {
// don't use Promise.all to prevent concurrency issues with duplicate detection
if (release.poster) {
await storePhotos([release.poster], {
role: 'poster',
targetId: releaseId,
await createMediaDirectory('releases', subpath);
console.log(release.id);
try {
// don't use Promise.all to prevent concurrency issues with duplicate detection
if (release.poster) {
await storePhotos([release.poster], {
role: 'poster',
targetId: release.id,
subpath,
}, identifier);
}
await storePhotos(release.photos, {
targetId: release.id,
subpath,
primaryRole: release.poster ? null : 'poster',
}, identifier);
await storePhotos(release.covers, {
role: 'cover',
targetId: release.id,
subpath,
}, identifier);
await storeTrailer(release.trailer, {
targetId: release.id,
subpath,
}, identifier);
} catch (error) {
console.log(release.url, error);
}
await storePhotos(release.photos, {
targetId: releaseId,
subpath,
primaryRole: release.poster ? null : 'poster',
}, identifier);
await storePhotos(release.covers, {
role: 'cover',
targetId: releaseId,
subpath,
}, identifier);
await storeTrailer(release.trailer, {
targetId: releaseId,
subpath,
}, identifier);
} catch (error) {
console.log(release.url, error);
}
}, {
concurrency: 10,
});
}
async function storeRelease(release) {
@@ -414,9 +423,7 @@ async function storeReleases(releases) {
await Promise.all([
associateActors(actors, storedReleases),
Promise.map(storedReleases, async release => storeReleaseAssets(release, release.id), {
concurrency: 10,
}),
storeReleaseAssets(storedReleases),
]);
return {