summaryrefslogtreecommitdiff
path: root/deviantion.go
diff options
context:
space:
mode:
authorlost+skunk <[email protected]>2024-09-04 20:18:39 +0300
committerlost+skunk <[email protected]>2024-09-04 20:18:39 +0300
commitb3c99749f133abf6c04506135c2e4e7567da5254 (patch)
tree2dd1abd4967eae3d151eff30404ab28ffd7054b1 /deviantion.go
parent4487cdcbe9ed2ad4bc661c04600336505054177c (diff)
downloaddevianter-b3c99749f133abf6c04506135c2e4e7567da5254.tar.gz
devianter-b3c99749f133abf6c04506135c2e4e7567da5254.tar.bz2
devianter-b3c99749f133abf6c04506135c2e4e7567da5254.zip
ошибки
Diffstat (limited to 'deviantion.go')
-rw-r--r--deviantion.go24
1 files changed, 13 insertions, 11 deletions
diff --git a/deviantion.go b/deviantion.go
index c7640e8..070caf4 100644
--- a/deviantion.go
+++ b/deviantion.go
@@ -58,6 +58,7 @@ type Deviation struct {
// её выпердыши
type Media struct {
BaseUri string
+ Name string `json:"prettyName"`
Token []string
Types []struct {
T string
@@ -90,7 +91,7 @@ type Post struct {
}
// преобразование урла в правильный
-func UrlFromMedia(m Media, thumb ...int) string {
+func UrlFromMedia(m Media, thumb ...int) (urlParsed, wellFormattedFilename string) {
var url strings.Builder
subtractWidthHeight := func(to int, target ...*int) {
@@ -108,14 +109,15 @@ func UrlFromMedia(m Media, thumb ...int) string {
if len(thumb) != 0 {
subtractWidthHeight(thumb[0], &t.W, &t.H)
}
+ wellFormattedFilename = m.Name + m.BaseUri[l-4:]
url.WriteString("/v1/fit/w_")
url.WriteString(strconv.Itoa(t.W))
url.WriteString(",h_")
url.WriteString(strconv.Itoa(t.H))
url.WriteString("/")
- url.WriteString("image")
- url.WriteString(".gif")
+ url.WriteString(wellFormattedFilename)
+
}
if len(m.Token) > 0 {
url.WriteString("?token=")
@@ -124,18 +126,19 @@ func UrlFromMedia(m Media, thumb ...int) string {
}
}
- return url.String()
+ urlParsed = url.String()
+
+ return
}
// для работы функции нужно ID поста и имя пользователя.
-func GetDeviation(id string, user string) Post {
- var st Post
- ujson(
+func GetDeviation(id string, user string) (st Post, err Error) {
+ err = ujson(
"dadeviation/init?deviationid="+id+"&username="+user+"&type=art&include_session=false&expand=deviation.related&preload=true",
&st,
)
- st.IMG = UrlFromMedia(st.Deviation.Media)
+ st.IMG, _ = UrlFromMedia(st.Deviation.Media)
// базовая обработка описания
txt := st.Deviation.TextContent.Html.Markup
@@ -151,8 +154,7 @@ func GetDeviation(id string, user string) Post {
txt = a.Text
}
}
-
st.Description = txt
-
- return st
+
+ return
}