2020-01-31 00:55:55 +00:00
'use strict' ;
const config = require ( 'config' ) ;
const path = require ( 'path' ) ;
const fs = require ( 'fs-extra' ) ;
2020-02-09 02:09:06 +00:00
const moment = require ( 'moment' ) ;
2020-01-31 00:55:55 +00:00
const argv = require ( '../argv' ) ;
const knex = require ( '../knex' ) ;
async function init ( ) {
const posters = await knex ( 'actors' )
2020-03-11 02:01:37 +00:00
. select ( 'actors.name as actor_name' , 'releases.title' , 'releases.date' , 'media.path' , 'media.index' , 'sites.name as site_name' , 'networks.name as network_name' )
. whereIn ( 'actors.name' , ( argv . actors || [ ] ) . concat ( argv . _ ) )
2020-01-31 00:55:55 +00:00
. join ( 'releases_actors' , 'releases_actors.actor_id' , 'actors.id' )
. join ( 'releases' , 'releases_actors.release_id' , 'releases.id' )
2020-02-04 02:12:09 +00:00
. join ( 'sites' , 'sites.id' , 'releases.site_id' )
. join ( 'networks' , 'networks.id' , 'sites.network_id' )
2020-03-11 02:01:37 +00:00
. join ( 'releases_posters' , 'releases_posters.release_id' , 'releases.id' )
2020-01-31 00:55:55 +00:00
. join ( 'media' , 'releases_posters.media_id' , 'media.id' ) ;
2020-03-11 02:01:37 +00:00
// .join('releases_photos', 'releases_photos.release_id', 'releases.id')
// .join('media', 'releases_photos.media_id', 'media.id');
2020-01-31 00:55:55 +00:00
2020-01-31 01:01:30 +00:00
await Promise . all ( posters . map ( async ( poster ) => {
2020-01-31 00:55:55 +00:00
const source = path . join ( config . media . path , poster . path ) ;
2020-02-24 02:12:58 +00:00
const directory = path . join ( config . media . path , 'extracted' , poster . actor _name ) ;
2020-03-11 02:01:37 +00:00
const target = path . join ( directory , ` ${ poster . actor _name } - ${ poster . network _name } : ${ poster . site _name } - ${ poster . title . replace ( /[/.]/g , '_' ) } ( ${ moment . utc ( poster . date ) . format ( 'YYYY-MM-DD' ) } )- ${ poster . index } .jpeg ` ) ;
2020-02-24 02:12:58 +00:00
await fs . mkdir ( path . join ( directory ) , { recursive : true } ) ;
2020-01-31 00:55:55 +00:00
const file = await fs . readFile ( source ) ;
await fs . writeFile ( target , file ) ;
return file ;
} ) ) ;
2020-02-03 23:18:53 +00:00
knex . destroy ( ) ;
2020-01-31 00:55:55 +00:00
}
init ( ) ;