Implement normalize & try to implement unpack
This commit is contained in:
38
media.go
38
media.go
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user