2017-06-15 21:54:06 +02:00
package nyaafeeds
import (
2017-06-18 00:30:12 +02:00
"strconv"
2017-06-15 21:54:06 +02:00
"strings"
2017-06-18 00:30:12 +02:00
2017-07-02 16:54:55 +02:00
"github.com/NyaaPantsu/nyaa/utils/categories"
2017-06-15 21:54:06 +02:00
)
// ConvertToCat : Convert a torznab cat to our cat
2017-06-18 00:30:12 +02:00
func ConvertToCat ( cat string ) string {
if cat == "" {
return ""
}
cats := strings . Split ( cat , "," )
var returnCat [ ] string
for _ , val := range cats {
localeCat := convertCat ( val )
if localeCat != "" {
returnCat = append ( returnCat , localeCat )
}
2017-06-15 21:54:06 +02:00
}
2017-06-18 00:30:12 +02:00
return strings . Join ( returnCat , "," )
}
func convertCat ( cat string ) string {
2017-06-18 01:19:46 +02:00
if cat == "5070" {
2017-06-18 01:23:12 +02:00
return "3_5"
2017-06-18 01:19:46 +02:00
}
2017-06-18 00:30:12 +02:00
if len ( cat ) < 6 {
return ""
}
2017-06-18 01:19:46 +02:00
2017-06-18 00:30:12 +02:00
cI , _ := strconv . Atoi ( cat [ 2 : 4 ] )
subI , _ := strconv . Atoi ( cat [ 4 : 6 ] )
c := strconv . Itoa ( cI )
sub := strconv . Itoa ( subI )
if categories . CategoryExists ( c + "_" + sub ) {
return c + "_" + sub
}
return ""
2017-06-15 21:54:06 +02:00
}
// ConvertFromCat : Convert a cat to a torznab cat
func ConvertFromCat ( category string ) ( cat string ) {
c := strings . Split ( category , "_" )
2017-06-18 00:30:12 +02:00
if len ( c [ 0 ] ) < 2 {
c [ 0 ] = "0" + c [ 0 ]
}
if len ( c ) < 2 || c [ 1 ] == "" {
cat = "10" + c [ 0 ] + "00"
2017-06-15 21:54:06 +02:00
return
}
2017-06-18 00:30:12 +02:00
if len ( c [ 1 ] ) < 2 {
c [ 1 ] = "0" + c [ 1 ]
}
cat = "10" + c [ 0 ] + c [ 1 ]
2017-06-15 21:54:06 +02:00
return
}