Skip to content

Commit

Permalink
fix stories folder name issue
Browse files Browse the repository at this point in the history
  • Loading branch information
DantSu committed Mar 28, 2024
1 parent 03e22d1 commit 58c5085
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 14 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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/"
Expand Down
Original file line number Diff line number Diff line change
@@ -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})\+](.*)/)
Expand All @@ -20,4 +23,4 @@ const
return {title}
}

export { generateDirNameStory, findAgeInStoryName }
export {generateDirNameStory, findAgeInStoryName}
18 changes: 14 additions & 4 deletions public/MainEvents/Helpers/StoriesFiles.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
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) => {
if (!fs.existsSync(storiesPath)) {
return []
}
return fs.readdirSync(storiesPath)
.sort()
.reduce(
(acc, d) => {
const
Expand All @@ -29,15 +29,25 @@ 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')
return [...acc, md]
},
[]
)
.sort((md1, md2) => md1.directory > md2.directory ? 1 : (md1.directory < md2.directory ? -1 : 0))
},

deleteStories = (storiesPath, onFinished) => {
Expand All @@ -55,4 +65,4 @@ const
return true
}

export { readStories, deleteStories }
export {readStories, deleteStories}
4 changes: 2 additions & 2 deletions public/MainEvents/LocalStories.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
2 changes: 1 addition & 1 deletion public/MainEvents/Processes/Import/ConvertFolderFS.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion public/MainEvents/Processes/Import/ConvertFolderSTUdio.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion src/App/Modules/Synchronize/Music/MusicClassification.js
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const storiesClassification = (stories) => {
return {
...acc,
[key]: {
tableGroup: story.category || story.uuid,
tableGroup: key,
tableChildren: [story]
}
}
Expand Down

0 comments on commit 58c5085

Please sign in to comment.