Implement normalize & try to implement unpack

This commit is contained in:
2017-09-17 00:12:33 +02:00
parent 73cc5d7f55
commit 66babd15c8
2 changed files with 129 additions and 15 deletions

View File

@ -21,18 +21,18 @@ func newMediaElement(p string) *mediaElement {
ext := filepath.Ext(name)
name = trimSuffix(name, ext)
dash := strings.Index(name, " - ")
dash := strings.Index(name, "-")
episode := ""
if dash != -1 {
episode = name[dash+3:]
name = name[:dash]
episode = strings.TrimSpace(name[dash+1:])
name = strings.TrimSpace(name[:dash])
}
dash = strings.Index(episode, " - ")
dash = strings.Index(episode, "-")
title := ""
if dash != -1 {
title = episode[dash+3:]
episode = episode[:dash]
title = strings.TrimSpace(episode[dash+1:])
episode = strings.TrimSpace(episode[:dash])
}
element := &mediaElement{
@ -40,7 +40,6 @@ func newMediaElement(p string) *mediaElement {
Extension: ext,
Name: name,
Episode: episode,
Title: title,
}
words := strings.Split(title, " ")
@ -63,7 +62,16 @@ func newMediaElement(p string) *mediaElement {
}
}
fmt.Printf("%v\n", titleWords)
title = ""
first := true
for i := len(titleWords) - 1; i >= 0; i-- {
if !first {
title += " "
}
title += titleWords[i]
first = false
}
element.Title = title
return element
}
@ -80,3 +88,17 @@ func (element *mediaElement) String() string {
}
return result
}
func (element *mediaElement) Path() string {
result := filepath.Join(element.Directory, element.Name)
if element.Episode != "" {
result += " - " + element.Episode
}
if element.Title != "" {
result += " - " + element.Title
}
for i := len(element.Tags) - 1; i >= 0; i-- {
result += " " + element.Tags[i]
}
return result + element.Extension
}