import uuidv1 from 'uuid/v1' import socket from '../../socket' import types from '../../types' import * as datasetLoader from '../../dataset/dataset.loader' import actions from '../../actions' import util from '../../util' import pix2wavModule from './pix2wav.module' export const load_directories = (id) => (dispatch) => { const module = pix2wavModule.name util.allProgress([ datasetLoader.load(module), actions.socket.list_directory({ module: 'pix2pix', dir: 'sequences/pix2wav/' }), actions.socket.list_directory({ module: 'pix2pix', dir: 'datasets/pix2wav/' }), actions.socket.list_directory({ module: 'pix2pix', dir: 'checkpoints/pix2wav/' }), actions.socket.list_directory({ module: 'pix2pix', dir: 'checkpoints/pix2pix/' }), // actions.socket.list_directory({ module, dir: 'datasets' }), // actions.socket.list_directory({ module, dir: 'results' }), // actions.socket.list_directory({ module, dir: 'output' }), // actions.socket.disk_usage({ module, dir: 'datasets' }), ], (percent, i, n) => { console.log('progress', i, n) dispatch({ type: types.app.load_progress, progress: { i, n }}) }).then(res => { const [datasetApiReport, sequences, datasets, checkpoints, pix2pixCheckpoints] = res const { folderLookup, fileLookup, datasetLookup, folders, files, unsortedFolder, } = datasetApiReport const sequenceDirectories = sequences.filter(s => s.dir) sequenceDirectories.forEach(dir => { const dataset = datasetLoader.getDataset(module, datasetLookup, dir.name) dataset.isBuilt = true }) datasets.filter(s => s.dir).forEach(dir => { const dataset = datasetLoader.getDataset(module, datasetLookup, dir.name) dataset.hasDataset = true }) const checkpointDirectories = checkpoints.filter(s => s.dir) checkpointDirectories.forEach(dir => { const dataset = datasetLoader.getDataset(module, datasetLookup, dir.name) dataset.hasCheckpoints = true dir.module = 'pix2wav' }) const pix2pixCheckpointDirectories = pix2pixCheckpoints.filter(s => s.dir) pix2pixCheckpointDirectories.forEach(dir => { const dataset = datasetLoader.getDataset(module, datasetLookup, dir.name) dataset.hasCheckpoints = true dir.module = 'pix2pix' }) console.log(res) console.log(checkpointDirectories) console.log(pix2pixCheckpointDirectories) dispatch({ type: types.dataset.load, data: { module, folderLookup, fileLookup, datasetLookup, folders, files, sequences: sequenceDirectories, datasets, checkpoints: checkpointDirectories.concat(pix2pixCheckpointDirectories), }, }) if (id) { console.log('folder id', id) dispatch({ type: types.dataset.set_folder, data: { folder_id: id, module }, }) } }).catch(e => { console.error(e) }) }