mirror of
https://github.com/celogeek/go-comic-converter.git
synced 2025-05-25 08:12:36 +02:00
sortpath: support half chapter
This commit is contained in:
parent
a224c64568
commit
4cc329af38
@ -7,18 +7,18 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var split_path_regex = regexp.MustCompile(`^(.*?)(\d+)$`)
|
var split_path_regex = regexp.MustCompile(`^(.*?)(\d+(?:\.\d+)?)$`)
|
||||||
|
|
||||||
type part struct {
|
type part struct {
|
||||||
name string
|
name string
|
||||||
number int
|
number float64
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a part) Compare(b part) int {
|
func (a part) Compare(b part) float64 {
|
||||||
if a.name == b.name {
|
if a.name == b.name {
|
||||||
return a.number - b.number
|
return a.number - b.number
|
||||||
} else {
|
} else {
|
||||||
return strings.Compare(a.name, b.name)
|
return float64(strings.Compare(a.name, b.name))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,11 +27,11 @@ func parsePart(p string) part {
|
|||||||
if len(r) == 0 {
|
if len(r) == 0 {
|
||||||
return part{p, 0}
|
return part{p, 0}
|
||||||
}
|
}
|
||||||
n, err := strconv.ParseInt(r[2], 10, 32)
|
n, err := strconv.ParseFloat(r[2], 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return part{p, 0}
|
return part{p, 0}
|
||||||
}
|
}
|
||||||
return part{r[1], int(n)}
|
return part{r[1], n}
|
||||||
}
|
}
|
||||||
|
|
||||||
func parse(filename string) []part {
|
func parse(filename string) []part {
|
||||||
@ -48,7 +48,7 @@ func parse(filename string) []part {
|
|||||||
return f
|
return f
|
||||||
}
|
}
|
||||||
|
|
||||||
func comparePart(a, b []part) int {
|
func comparePart(a, b []part) float64 {
|
||||||
m := len(a)
|
m := len(a)
|
||||||
if m > len(b) {
|
if m > len(b) {
|
||||||
m = len(b)
|
m = len(b)
|
||||||
@ -59,7 +59,7 @@ func comparePart(a, b []part) int {
|
|||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return len(a) - len(b)
|
return float64(len(a) - len(b))
|
||||||
}
|
}
|
||||||
|
|
||||||
type by struct {
|
type by struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user