Fix podcasts with / in the name

This commit is contained in:
Alex McGrath
2021-02-18 11:28:59 +00:00
committed by Senan Kelly
parent 87cd303257
commit f7772303b0
2 changed files with 6 additions and 3 deletions

View File

@@ -304,7 +304,8 @@ type Podcast struct {
}
func (p *Podcast) Fullpath(podcastPath string) string {
return filepath.Join(podcastPath, filepath.Clean(p.Title))
sanitizedTitle := strings.ReplaceAll(p.Title, "/", "_")
return filepath.Join(podcastPath, filepath.Clean(sanitizedTitle))
}
func (p *Podcast) SID() *specid.ID {

View File

@@ -343,7 +343,8 @@ func (p *Podcasts) findUniqueEpisodeName(
if _, err := os.Stat(podcastPath); os.IsNotExist(err) {
return filename
}
titlePath := fmt.Sprintf("%s%s", podcastEpisode.Title, filepath.Ext(filename))
sanitizedTitle := strings.ReplaceAll(podcastEpisode.Title, "/", "_")
titlePath := fmt.Sprintf("%s%s", sanitizedTitle, filepath.Ext(filename))
podcastPath = path.Join(podcast.Fullpath(p.PodcastBasePath), titlePath)
if _, err := os.Stat(podcastPath); os.IsNotExist(err) {
return titlePath
@@ -353,7 +354,8 @@ func (p *Podcasts) findUniqueEpisodeName(
}
func findEpisode(base, filename string, count int) string {
testFile := fmt.Sprintf("%s (%d)%s", filename, count, filepath.Ext(filename))
noExt := strings.TrimSuffix(filename, filepath.Ext(filename))
testFile := fmt.Sprintf("%s (%d)%s", noExt, count, filepath.Ext(filename))
podcastPath := path.Join(base, testFile)
if _, err := os.Stat(podcastPath); os.IsNotExist(err) {
return testFile