Fix:Check if Windows before cleaning file path for POSIX separators #1254

This commit is contained in:
advplyr 2023-01-05 17:45:27 -06:00
parent f76f9c7f84
commit 9a85ad1f6b
19 changed files with 66 additions and 54 deletions

View file

@ -1,6 +1,7 @@
const Folder = require('./Folder')
const LibrarySettings = require('./settings/LibrarySettings')
const { getId } = require('../utils/index')
const { filePathToPOSIX } = require('../utils/fileUtils')
class Library {
constructor(library = null) {
@ -156,8 +157,8 @@ class Library {
}
checkFullPathInLibrary(fullPath) {
fullPath = fullPath.replace(/\\/g, '/')
return this.folders.find(folder => fullPath.startsWith(folder.fullPath.replace(/\\/g, '/')))
fullPath = filePathToPOSIX(fullPath)
return this.folders.find(folder => fullPath.startsWith(filePathToPOSIX(folder.fullPath)))
}
getFolderById(id) {

View file

@ -1,5 +1,5 @@
const Path = require('path')
const { encodeUriPath } = require('../../utils/index')
const { encodeUriPath } = require('../../utils/fileUtils')
class AudioTrack {
constructor() {

View file

@ -1,5 +1,5 @@
const Path = require('path')
const { encodeUriPath } = require('../../utils/index')
const { encodeUriPath } = require('../../utils/fileUtils')
class VideoTrack {
constructor() {

View file

@ -5,7 +5,7 @@ const { areEquivalent, copyValue, cleanStringForSearch } = require('../../utils/
const { parseOpfMetadataXML } = require('../../utils/parsers/parseOpfMetadata')
const { parseOverdriveMediaMarkersAsChapters } = require('../../utils/parsers/parseOverdriveMediaMarkers')
const abmetadataGenerator = require('../../utils/abmetadataGenerator')
const { readTextFile } = require('../../utils/fileUtils')
const { readTextFile, filePathToPOSIX } = require('../../utils/fileUtils')
const AudioFile = require('../files/AudioFile')
const AudioTrack = require('../files/AudioTrack')
const EBookFile = require('../files/EBookFile')
@ -182,7 +182,7 @@ class Book {
}
updateCover(coverPath) {
coverPath = coverPath.replace(/\\/g, '/')
coverPath = filePathToPOSIX(coverPath)
if (this.coverPath === coverPath) return false
this.coverPath = coverPath
return true

View file

@ -3,6 +3,7 @@ const AudioFile = require('../files/AudioFile')
const AudioTrack = require('../files/AudioTrack')
const MusicMetadata = require('../metadata/MusicMetadata')
const { areEquivalent, copyValue } = require('../../utils/index')
const { filePathToPOSIX } = require('../../utils/fileUtils')
class Music {
constructor(music) {
@ -106,7 +107,7 @@ class Music {
}
updateCover(coverPath) {
coverPath = coverPath.replace(/\\/g, '/')
coverPath = filePathToPOSIX(coverPath)
if (this.coverPath === coverPath) return false
this.coverPath = coverPath
return true

View file

@ -3,7 +3,7 @@ const PodcastEpisode = require('../entities/PodcastEpisode')
const PodcastMetadata = require('../metadata/PodcastMetadata')
const { areEquivalent, copyValue, cleanStringForSearch } = require('../../utils/index')
const abmetadataGenerator = require('../../utils/abmetadataGenerator')
const { readTextFile } = require('../../utils/fileUtils')
const { readTextFile, filePathToPOSIX } = require('../../utils/fileUtils')
const { createNewSortInstance } = require('../../libs/fastSort')
const naturalSort = createNewSortInstance({
comparer: new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' }).compare
@ -159,7 +159,7 @@ class Podcast {
}
updateCover(coverPath) {
coverPath = coverPath.replace(/\\/g, '/')
coverPath = filePathToPOSIX(coverPath)
if (this.coverPath === coverPath) return false
this.coverPath = coverPath
return true

View file

@ -3,6 +3,7 @@ const VideoFile = require('../files/VideoFile')
const VideoTrack = require('../files/VideoTrack')
const VideoMetadata = require('../metadata/VideoMetadata')
const { areEquivalent, copyValue } = require('../../utils/index')
const { filePathToPOSIX } = require('../../utils/fileUtils')
class Video {
constructor(video) {
@ -101,7 +102,7 @@ class Video {
}
updateCover(coverPath) {
coverPath = coverPath.replace(/\\/g, '/')
coverPath = filePathToPOSIX(coverPath)
if (this.coverPath === coverPath) return false
this.coverPath = coverPath
return true