mirror of https://github.com/thumbsup/thumbsup
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
809 B
JavaScript
23 lines
809 B
JavaScript
const Picasa = require('../input/picasa')
|
|
const mapper = require('../input/mapper')
|
|
const hierarchy = require('../input/hierarchy.js')
|
|
const File = require('../model/file')
|
|
const Metadata = require('../model/metadata')
|
|
|
|
exports.run = function (database, opts, callback) {
|
|
const picasaReader = new Picasa()
|
|
// create a flat array of files
|
|
const files = database.map(entry => {
|
|
// create standarised metadata model
|
|
const picasa = picasaReader.file(entry.SourceFile)
|
|
const meta = new Metadata(entry, picasa || {})
|
|
// create a file entry for the albums
|
|
return new File(entry, meta, opts)
|
|
})
|
|
// create the full album hierarchy
|
|
const albumMapper = mapper.create(opts)
|
|
const album = hierarchy.createAlbums(files, albumMapper, opts)
|
|
// return the results
|
|
return {files, album}
|
|
}
|