refactor: rename and rely on yt-dlp defauls more
Some checks are pending
build / build (push) Waiting to run
Some checks are pending
build / build (push) Waiting to run
This commit is contained in:
parent
e236b4d043
commit
49b8dd4dd4
|
|
@ -54,7 +54,8 @@ COPY <<-EOT /data/config.json
|
||||||
"youtube": {
|
"youtube": {
|
||||||
"verbose": false,
|
"verbose": false,
|
||||||
"cmd": "/home/subsyt/.local/bin/yt-dlp",
|
"cmd": "/home/subsyt/.local/bin/yt-dlp",
|
||||||
"quality": "res:1080",
|
"format": "",
|
||||||
|
"format_sort": "",
|
||||||
"output_path_template": "s%(upload_date>%Y)s/%(channel)s.s%(upload_date>%Y)Se%(upload_date>%m%d)S.%(title)s.%(id)s.%(ext)s",
|
"output_path_template": "s%(upload_date>%Y)s/%(channel)s.s%(upload_date>%Y)Se%(upload_date>%m%d)S.%(title)s.%(id)s.%(ext)s",
|
||||||
"url": "https://www.youtube.com",
|
"url": "https://www.youtube.com",
|
||||||
"throttle": 5,
|
"throttle": 5,
|
||||||
|
|
@ -62,7 +63,7 @@ COPY <<-EOT /data/config.json
|
||||||
"opml_file": "/data/opml.xml",
|
"opml_file": "/data/opml.xml",
|
||||||
"po_token": "",
|
"po_token": "",
|
||||||
"bgutil_server": "http://bgutil:4416",
|
"bgutil_server": "http://bgutil:4416",
|
||||||
"player_client": "mweb"
|
"player_client": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,8 @@ Full `config.json`:
|
||||||
"youtube": {
|
"youtube": {
|
||||||
"verbose": false,
|
"verbose": false,
|
||||||
"cmd": "./yt-dlp",
|
"cmd": "./yt-dlp",
|
||||||
"quality": "res:1080",
|
"format": "best",
|
||||||
|
"format_sort": "res:1080",
|
||||||
"output_path_template": "s%(upload_date>%Y)s/%(channel)s.s%(upload_date>%Y)Se%(upload_date>%m%d)S.%(title)s.%(id)s.%(ext)s",
|
"output_path_template": "s%(upload_date>%Y)s/%(channel)s.s%(upload_date>%Y)Se%(upload_date>%m%d)S.%(title)s.%(id)s.%(ext)s",
|
||||||
"url": "https://www.youtube.com",
|
"url": "https://www.youtube.com",
|
||||||
"throttle": 5,
|
"throttle": 5,
|
||||||
|
|
|
||||||
|
|
@ -12,12 +12,13 @@ type Provider struct {
|
||||||
Cmd string
|
Cmd string
|
||||||
Cookies_file string
|
Cookies_file string
|
||||||
Opml_file string
|
Opml_file string
|
||||||
Quality string
|
Format string
|
||||||
|
Format_sort string
|
||||||
Output_path_template string
|
Output_path_template string
|
||||||
Po_token string
|
Po_token string
|
||||||
Verbose bool
|
Verbose bool
|
||||||
Bgutil_server string
|
Bgutil_server string
|
||||||
Player_client string
|
Player_client string
|
||||||
}
|
}
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,10 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type Download struct {
|
type Download struct {
|
||||||
Url string
|
Url string
|
||||||
OutDir string
|
OutDir string
|
||||||
Name string
|
Name string
|
||||||
DryRun bool
|
DryRun bool
|
||||||
Metadata bool
|
Metadata bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -58,7 +58,7 @@ func Youtube(d Download, p config.Provider) {
|
||||||
if d.Metadata == true {
|
if d.Metadata == true {
|
||||||
log.Println("Downloading metadata")
|
log.Println("Downloading metadata")
|
||||||
mArgs := []string{
|
mArgs := []string{
|
||||||
"--skip-download",
|
"--skip-download",
|
||||||
"--no-overwrites",
|
"--no-overwrites",
|
||||||
"--playlist-items", "0:0:1",
|
"--playlist-items", "0:0:1",
|
||||||
}
|
}
|
||||||
|
|
@ -85,10 +85,12 @@ func Youtube(d Download, p config.Provider) {
|
||||||
}
|
}
|
||||||
args = append(args, dArgs...)
|
args = append(args, dArgs...)
|
||||||
|
|
||||||
if p.Quality != "" {
|
if p.Format != "" {
|
||||||
args = append(args, "--format-sort", p.Quality)
|
args = append(args, "--format", p.Format)
|
||||||
} else {
|
}
|
||||||
args = append(args, "--format-sort", "res:1080")
|
|
||||||
|
if p.Format_sort != "" {
|
||||||
|
args = append(args, "--format-sort", p.Format_sort)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,25 +5,25 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type Feed struct {
|
type Feed struct {
|
||||||
XMLName xml.Name `xml:"feed"`
|
XMLName xml.Name `xml:"feed"`
|
||||||
Id string `xml:"id"`
|
Id string `xml:"id"`
|
||||||
ChannelId string `xml:"yt:channelId"`
|
ChannelId string `xml:"yt:channelId"`
|
||||||
Title string `xml:"title"`
|
Title string `xml:"title"`
|
||||||
Published string `xml:"published"`
|
Published string `xml:"published"`
|
||||||
Links []Link `xml:"link"`
|
Links []Link `xml:"link"`
|
||||||
Author Author `xml:"author"`
|
Author Author `xml:"author"`
|
||||||
Entries []Entry `xml:"entry"`
|
Entries []Entry `xml:"entry"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Link struct {
|
type Link struct {
|
||||||
Rel string `xml:"rel,attr"`
|
Rel string `xml:"rel,attr"`
|
||||||
Href string `xml:"href,attr"`
|
Href string `xml:"href,attr"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Author struct {
|
type Author struct {
|
||||||
XMLName xml.Name `xml:"author"`
|
XMLName xml.Name `xml:"author"`
|
||||||
Name string `xml:"name"`
|
Name string `xml:"name"`
|
||||||
Uri string `xml:"uri"`
|
Uri string `xml:"uri"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MediaContent struct {
|
type MediaContent struct {
|
||||||
|
|
@ -56,27 +56,26 @@ type MediaCommunity struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type MediaGroup struct {
|
type MediaGroup struct {
|
||||||
Title string `xml:"title"`
|
Title string `xml:"title"`
|
||||||
Content MediaContent `xml:"content"`
|
Content MediaContent `xml:"content"`
|
||||||
Thumbnail MediaThumbnail `xml:"thumbnail"`
|
Thumbnail MediaThumbnail `xml:"thumbnail"`
|
||||||
Description string `xml:"description"`
|
Description string `xml:"description"`
|
||||||
Community MediaCommunity `xml:"community"`
|
Community MediaCommunity `xml:"community"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Entry struct {
|
type Entry struct {
|
||||||
XMLName xml.Name `xml:"entry"`
|
XMLName xml.Name `xml:"entry"`
|
||||||
Title string `xml:"title"`
|
Title string `xml:"title"`
|
||||||
Id string `xml:"id"`
|
Id string `xml:"id"`
|
||||||
VideoId string `xml:"videoId"`
|
VideoId string `xml:"videoId"`
|
||||||
ChannelId string `xml:"channelId"`
|
ChannelId string `xml:"channelId"`
|
||||||
Link Link `xml:"link"`
|
Link Link `xml:"link"`
|
||||||
Author Author `xml:"author"`
|
Author Author `xml:"author"`
|
||||||
Published string `xml:"published"`
|
Published string `xml:"published"`
|
||||||
Updated string `xml:"updated"`
|
Updated string `xml:"updated"`
|
||||||
MediaGroup MediaGroup `xml:"group"`
|
MediaGroup MediaGroup `xml:"group"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func RssLoad(data []byte) (Feed, error) {
|
func RssLoad(data []byte) (Feed, error) {
|
||||||
feed := Feed{}
|
feed := Feed{}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue