Fixes in CLI and added onloyHEVC option
This commit is contained in:
parent
3306a9f1ab
commit
41cff42d3a
22
cli.go
22
cli.go
@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
@ -85,8 +86,12 @@ func (m *SubscriptionManager) Add() {
|
|||||||
fmt.Scan(&add)
|
fmt.Scan(&add)
|
||||||
add = strings.ToLower(add)
|
add = strings.ToLower(add)
|
||||||
if add == "m" {
|
if add == "m" {
|
||||||
|
var err error
|
||||||
fmt.Print("Name: ")
|
fmt.Print("Name: ")
|
||||||
fmt.Scan(&name)
|
in := bufio.NewReader(os.Stdin)
|
||||||
|
name, err = in.ReadString('\n')
|
||||||
|
name = name[:len(name)-1]
|
||||||
|
e.Panic(err)
|
||||||
newSubs = append(newSubs, name)
|
newSubs = append(newSubs, name)
|
||||||
} else {
|
} else {
|
||||||
addSplit := strings.Split(add, ",")
|
addSplit := strings.Split(add, ",")
|
||||||
@ -113,8 +118,18 @@ func (m *SubscriptionManager) Add() {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var hevc string
|
||||||
|
fmt.Print("Only HEVC? (Y/n): ")
|
||||||
|
fmt.Scan(&hevc)
|
||||||
|
hevc = strings.ToLower(hevc)
|
||||||
|
var data []byte
|
||||||
|
if hevc == "n" {
|
||||||
|
data = []byte{'A', '0'}
|
||||||
|
} else {
|
||||||
|
data = []byte{'A', '1'}
|
||||||
|
}
|
||||||
|
|
||||||
// Send addition update to socket
|
// Send addition update to socket
|
||||||
data := []byte{'A'}
|
|
||||||
data = append(data, []byte(strings.Join(newSubs, "\n"))...)
|
data = append(data, []byte(strings.Join(newSubs, "\n"))...)
|
||||||
conn, err := net.Dial("unix", SocketPath)
|
conn, err := net.Dial("unix", SocketPath)
|
||||||
e.ExitIf(err, "Unable to open socket. Is the daemon running?")
|
e.ExitIf(err, "Unable to open socket. Is the daemon running?")
|
||||||
@ -183,13 +198,10 @@ func userCLI() {
|
|||||||
switch action {
|
switch action {
|
||||||
case "v":
|
case "v":
|
||||||
manager.View()
|
manager.View()
|
||||||
break
|
|
||||||
case "a":
|
case "a":
|
||||||
manager.Add()
|
manager.Add()
|
||||||
break
|
|
||||||
case "r":
|
case "r":
|
||||||
manager.Remove()
|
manager.Remove()
|
||||||
break
|
|
||||||
case "q":
|
case "q":
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
default:
|
default:
|
||||||
|
|||||||
24
main.go
24
main.go
@ -179,7 +179,7 @@ func GetRSS(rssURL string) ([]Anime, error) {
|
|||||||
}).End()
|
}).End()
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAllAvailable(name string) ([]Anime, error) {
|
func GetAllAvailable(name string, onlyHEVC bool) ([]Anime, error) {
|
||||||
var animes []Anime
|
var animes []Anime
|
||||||
var res *http.Response
|
var res *http.Response
|
||||||
var doc *goquery.Document
|
var doc *goquery.Document
|
||||||
@ -188,7 +188,12 @@ func GetAllAvailable(name string) ([]Anime, error) {
|
|||||||
|
|
||||||
return animes, e.If(err).ThenIf(func() error {
|
return animes, e.If(err).ThenIf(func() error {
|
||||||
q := req.URL.Query()
|
q := req.URL.Query()
|
||||||
query := "[Erai-raws] " + name + " [HEVC]"
|
var query string
|
||||||
|
if onlyHEVC {
|
||||||
|
query = "[Erai-raws] " + name + " [HEVC]"
|
||||||
|
} else {
|
||||||
|
query = "[Erai-raws] " + name + " [1080p]"
|
||||||
|
}
|
||||||
query = strings.Replace(query, ":", " ", -1)
|
query = strings.Replace(query, ":", " ", -1)
|
||||||
query = strings.Replace(query, ".", " ", -1)
|
query = strings.Replace(query, ".", " ", -1)
|
||||||
q.Add("q", query)
|
q.Add("q", query)
|
||||||
@ -209,9 +214,15 @@ func GetAllAvailable(name string) ([]Anime, error) {
|
|||||||
cols = cols.Next() // Filename
|
cols = cols.Next() // Filename
|
||||||
title := cols.Text()
|
title := cols.Text()
|
||||||
|
|
||||||
if !strings.Contains(title, "[HEVC]") || !strings.Contains(title, "[ENG]") {
|
if !strings.Contains(title, "[ENG]") {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isHEVC := strings.Contains(title, "[HEVC]")
|
||||||
|
if onlyHEVC && !isHEVC {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
title = strings.Split(title, "[Erai-raws] ")[1]
|
title = strings.Split(title, "[Erai-raws] ")[1]
|
||||||
if strings.Contains(title, "(AAC 2.0)") {
|
if strings.Contains(title, "(AAC 2.0)") {
|
||||||
title = strings.Split(title, " (AAC 2.0)")[0]
|
title = strings.Split(title, " (AAC 2.0)")[0]
|
||||||
@ -380,11 +391,14 @@ func (d *Daemon) ReadSocket(conn net.Conn) {
|
|||||||
command := rawData[0]
|
command := rawData[0]
|
||||||
data := string(rawData[1:len(rawData)])
|
data := string(rawData[1:len(rawData)])
|
||||||
e.Log("Socket Command: " + string(command))
|
e.Log("Socket Command: " + string(command))
|
||||||
newSubs := strings.Split(data, "\n")
|
|
||||||
|
|
||||||
var write bool
|
var write bool
|
||||||
switch command {
|
switch command {
|
||||||
case 'A':
|
case 'A':
|
||||||
|
onlyHEVC, _ := strconv.ParseBool(string(data[0]))
|
||||||
|
data = data[1:]
|
||||||
|
newSubs := strings.Split(data, "\n")
|
||||||
|
|
||||||
// Add each subscription
|
// Add each subscription
|
||||||
for _, sub := range newSubs {
|
for _, sub := range newSubs {
|
||||||
var s struct{}
|
var s struct{}
|
||||||
@ -394,7 +408,7 @@ func (d *Daemon) ReadSocket(conn net.Conn) {
|
|||||||
|
|
||||||
for _, sub := range newSubs {
|
for _, sub := range newSubs {
|
||||||
// For each new subscription, get all available animes.
|
// For each new subscription, get all available animes.
|
||||||
animes, err := GetAllAvailable(sub)
|
animes, err := GetAllAvailable(sub, onlyHEVC)
|
||||||
if e.LogIf(err, d.LogOptions...) {
|
if e.LogIf(err, d.LogOptions...) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user