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