diff --git a/package.json b/package.json index 4eb7a1b..e30b2f2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "telmi-sync", "description": "Desktop application for synchronize stories with Telmi OS.", - "version": "0.1.1", + "version": "0.1.2", "author": { "name": "Franck ALARY", "url": "http://dantsu.com/" diff --git a/public/MainEvents/Processes/Helpers/Stories.js b/public/MainEvents/Helpers/Stories.js similarity index 65% rename from public/MainEvents/Processes/Helpers/Stories.js rename to public/MainEvents/Helpers/Stories.js index 5f2fffa..eadb11c 100644 --- a/public/MainEvents/Processes/Helpers/Stories.js +++ b/public/MainEvents/Helpers/Stories.js @@ -1,8 +1,11 @@ -import { stringNormalizeFileName, stringSlugify } from '../../Helpers/Strings.js' +import {stringNormalizeFileName, stringSlugify} from './Strings.js' const generateDirNameStory = (title, uuid, age, category) => { - return stringNormalizeFileName(category || '').substring(0, 32) + '_' + (age === undefined ? '' : age + '').substring(0, 2) + '_' + stringNormalizeFileName(title).substring(0, 32) + '_' + stringSlugify(uuid).substring(0, 36) + return stringNormalizeFileName(category || '').substring(0, 32) + '_' + + (age === undefined ? '' : (age < 10 ? '0' : '') + age).substring(0, 2) + '_' + + stringNormalizeFileName(title).substring(0, 32) + '_' + + stringSlugify(uuid).substring(0, 36) }, findAgeInStoryName = (title) => { const a = title.match(/^([0-9]{1,2})\+](.*)/) @@ -20,4 +23,4 @@ const return {title} } -export { generateDirNameStory, findAgeInStoryName } +export {generateDirNameStory, findAgeInStoryName} diff --git a/public/MainEvents/Helpers/StoriesFiles.js b/public/MainEvents/Helpers/StoriesFiles.js index 709213a..bf679b1 100644 --- a/public/MainEvents/Helpers/StoriesFiles.js +++ b/public/MainEvents/Helpers/StoriesFiles.js @@ -1,7 +1,8 @@ import * as fs from 'fs' import * as path from 'path' import runProcess from '../Processes/RunProcess.js' -import { rmDirectory } from './Files.js' +import {rmDirectory} from './Files.js' +import {generateDirNameStory} from "./Stories.js"; const readStories = (storiesPath) => { @@ -9,7 +10,6 @@ const return [] } return fs.readdirSync(storiesPath) - .sort() .reduce( (acc, d) => { const @@ -29,8 +29,17 @@ const return acc } - const md = JSON.parse(fs.readFileSync(mdPath).toString('utf8')) + const + md = JSON.parse(fs.readFileSync(mdPath).toString('utf8')), + storyDirName = generateDirNameStory(md.title, md.uuid, md.age, md.category) + + if (storyDirName !== d) { + console.log('Changement !', d, storyDirName) + fs.renameSync(storyPath, path.join(storiesPath, storyDirName)) + d = storyDirName + } + md.directory = d md.path = path.join(storiesPath, d) md.image = path.join(md.path, md.image) md.audio = path.join(md.path, 'title.mp3') @@ -38,6 +47,7 @@ const }, [] ) + .sort((md1, md2) => md1.directory > md2.directory ? 1 : (md1.directory < md2.directory ? -1 : 0)) }, deleteStories = (storiesPath, onFinished) => { @@ -55,4 +65,4 @@ const return true } -export { readStories, deleteStories } +export {readStories, deleteStories} diff --git a/public/MainEvents/LocalStories.js b/public/MainEvents/LocalStories.js index 699483c..e1712c7 100644 --- a/public/MainEvents/LocalStories.js +++ b/public/MainEvents/LocalStories.js @@ -2,8 +2,8 @@ import { ipcMain } from 'electron' import * as fs from 'fs' import * as path from 'path' import { getStoriesPath } from './Helpers/AppPaths.js' -import { deleteStories, readStories } from './Helpers/StoriesFiles.js' -import { generateDirNameStory } from './Processes/Helpers/Stories.js' +import {deleteStories, readStories} from './Helpers/StoriesFiles.js' +import { generateDirNameStory } from './Helpers/Stories.js' import runProcess from './Processes/RunProcess.js' function mainEventLocalStoriesReader (mainWindow) { diff --git a/public/MainEvents/Processes/Import/ConvertFolderFS.js b/public/MainEvents/Processes/Import/ConvertFolderFS.js index 5d04a92..ce6fb60 100644 --- a/public/MainEvents/Processes/Import/ConvertFolderFS.js +++ b/public/MainEvents/Processes/Import/ConvertFolderFS.js @@ -5,7 +5,7 @@ import { createPathDirectories, rmDirectory } from '../../Helpers/Files.js' import { getStoriesPath, initTmpPath } from '../Helpers/AppPaths.js' import { convertStoryImages } from './Helpers/ImageFile.js' import { stringSlugify } from '../../Helpers/Strings.js' -import { findAgeInStoryName, generateDirNameStory } from '../Helpers/Stories.js' +import { findAgeInStoryName, generateDirNameStory } from '../../Helpers/Stories.js' import { convertAudios } from './Helpers/AudioFile.js' const diff --git a/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js b/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js index cece55f..b3c9c35 100644 --- a/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js +++ b/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js @@ -4,7 +4,7 @@ import { createPathDirectories, isDirectory, recursiveCountFiles, rmDirectory } import { getStoriesPath } from '../Helpers/AppPaths.js' import { convertStoryImages, isImageFile } from './Helpers/ImageFile.js' import { convertAudios, isAudioFile } from './Helpers/AudioFile.js' -import { findAgeInStoryName, generateDirNameStory } from '../Helpers/Stories.js' +import { findAgeInStoryName, generateDirNameStory } from '../../Helpers/Stories.js' function convertFolderSTUdio (srcPath, storyName) { try { diff --git a/src/App/Modules/Synchronize/Music/MusicClassification.js b/src/App/Modules/Synchronize/Music/MusicClassification.js index 5c6d131..5c38e67 100644 --- a/src/App/Modules/Synchronize/Music/MusicClassification.js +++ b/src/App/Modules/Synchronize/Music/MusicClassification.js @@ -19,7 +19,7 @@ const musicClassification = (musics) => { ) ).reduce( (acc, category) => { - if (category.tableChildren.length < 3) { + if (category.tableChildren.length < 2) { return [...acc, ...category.tableChildren] } else { return [...acc, category] diff --git a/src/App/Modules/Synchronize/Stories/StoriesClassification.js b/src/App/Modules/Synchronize/Stories/StoriesClassification.js index 9bdb397..6af198e 100644 --- a/src/App/Modules/Synchronize/Stories/StoriesClassification.js +++ b/src/App/Modules/Synchronize/Stories/StoriesClassification.js @@ -7,7 +7,7 @@ const storiesClassification = (stories) => { return { ...acc, [key]: { - tableGroup: story.category || story.uuid, + tableGroup: key, tableChildren: [story] } }