wish i could preview items but too lazy
parent
0271f84948
commit
bf23d6a9cf
|
|
@ -8,10 +8,10 @@
|
||||||
<div>
|
<div>
|
||||||
{{ range feeds }}
|
{{ range feeds }}
|
||||||
<div>
|
<div>
|
||||||
<h4><a href="?edit={{.Entry.ID}}">{{ .Version.URL }}</a></h4>
|
<h3><code><a href="?edit={{.Entry.ID}}">{{ .Version.URL }}</a></code></h3>
|
||||||
<div>{{ .Version.Created }} (last {{ .Execution.Executed }})</div>
|
<div>@<code>{{ .Version.Cron }}</code> ~<code>{{ .Version.Pattern }}</code></div>
|
||||||
<div>@{{ .Version.Cron }} ~"{{ .Version.Pattern }}"</div>
|
<div><code>{{ .Version.WebhookMethod }} {{ .Version.WebhookURL }} | {{ .Version.WebhookBody }}</code></div>
|
||||||
<div>{{ .Version.WebhookMethod }} {{ .Version.WebhookURL }} | {{ .Version.WebhookBody }}</div>
|
<div>(last run {{ ago .Execution.Executed }} ago)</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -20,17 +20,24 @@
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3>
|
<h3>
|
||||||
{{ if eq "" .editing.ID }}
|
{{ if eq "" .editing.ID }}
|
||||||
New
|
New
|
||||||
{{ else }}
|
{{ else }}
|
||||||
Update (<a href="?">clear</a>)
|
Update <code><a target="_blank" href="{{ .editing_url }}">{{ .editing.URL }}</a></code> (<a href="?">clear</a>)
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</h3>
|
</h3>
|
||||||
<form method="POST" action="/v1/feeds">
|
<form method="POST" action="/v1/feeds">
|
||||||
{{ range $k, $v := .editing }}
|
{{ range $k, $v := .editing }}
|
||||||
{{ if not (in $k "Created" "Deleted" "Updated" "ID") }}
|
{{ if not (in $k "Created" "Deleted" "Updated" "ID") }}
|
||||||
<div>
|
<div>
|
||||||
<label for="{{ $k }}">{{ $k }}</label>
|
<label for="{{ $k }}">
|
||||||
|
{{ $k }}
|
||||||
|
{{- if eq $k "URL" }}
|
||||||
|
(hint: nyaa://?q=show)
|
||||||
|
{{ else if eq $k "WebhookURL" }}
|
||||||
|
(hint: vpntor:///outdir)
|
||||||
|
{{ end }}
|
||||||
|
</label>
|
||||||
<input name="{{ $k }}" type="text" value="{{ $v }}"/>
|
<input name="{{ $k }}" type="text" value="{{ $v }}"/>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"show-rss/src/feeds"
|
"show-rss/src/feeds"
|
||||||
"slices"
|
"slices"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var dir = func() string {
|
var dir = func() string {
|
||||||
|
|
@ -65,6 +66,9 @@ func (h Handler) uiIndex(w http.ResponseWriter, r *http.Request) error {
|
||||||
"in": func(k string, v ...string) bool {
|
"in": func(k string, v ...string) bool {
|
||||||
return slices.Contains(v, k)
|
return slices.Contains(v, k)
|
||||||
},
|
},
|
||||||
|
"ago": func(t time.Time) time.Duration {
|
||||||
|
return time.Since(t)
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
tmpl, err := tmpl.Parse(string(b))
|
tmpl, err := tmpl.Parse(string(b))
|
||||||
|
|
@ -79,6 +83,8 @@ func (h Handler) uiIndex(w http.ResponseWriter, r *http.Request) error {
|
||||||
var m map[string]any
|
var m map[string]any
|
||||||
json.Unmarshal(b, &m)
|
json.Unmarshal(b, &m)
|
||||||
args["editing"] = m
|
args["editing"] = m
|
||||||
|
|
||||||
|
args["editing_url"], _ = editing.FetchURL()
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmpl.Execute(w, args)
|
return tmpl.Execute(w, args)
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,11 @@ func proxyFetch(ctx context.Context, u string) (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (feed Feed) FetchURL() (*url.URL, error) {
|
func (feed Feed) FetchURL() (*url.URL, error) {
|
||||||
u, err := url.Parse(feed.Version.URL)
|
return feed.Version.FetchURL()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (version Version) FetchURL() (*url.URL, error) {
|
||||||
|
u, err := url.Parse(version.URL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -148,7 +152,7 @@ func (feed Feed) FetchURL() (*url.URL, error) {
|
||||||
case "nyaa": // `nyaa://?q=A B` to `https://nyaa.si/?page=rss&q=A%20B&c=0_0&f=0`
|
case "nyaa": // `nyaa://?q=A B` to `https://nyaa.si/?page=rss&q=A%20B&c=0_0&f=0`
|
||||||
q := u.Query()
|
q := u.Query()
|
||||||
if q.Get("q") == "" {
|
if q.Get("q") == "" {
|
||||||
return nil, fmt.Errorf("invalid nyaa:// (%s): no ?q", feed.Version.URL)
|
return nil, fmt.Errorf("invalid nyaa:// (%s): no ?q", version.URL)
|
||||||
}
|
}
|
||||||
|
|
||||||
q.Set("page", "rss")
|
q.Set("page", "rss")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue