diff options
| author | lost+skunk <[email protected]> | 2024-09-04 20:18:39 +0300 |
|---|---|---|
| committer | lost+skunk <[email protected]> | 2024-09-04 20:18:39 +0300 |
| commit | b3c99749f133abf6c04506135c2e4e7567da5254 (patch) | |
| tree | 2dd1abd4967eae3d151eff30404ab28ffd7054b1 /deviantion.go | |
| parent | 4487cdcbe9ed2ad4bc661c04600336505054177c (diff) | |
| download | devianter-b3c99749f133abf6c04506135c2e4e7567da5254.tar.gz devianter-b3c99749f133abf6c04506135c2e4e7567da5254.tar.bz2 devianter-b3c99749f133abf6c04506135c2e4e7567da5254.zip | |
ошибки
Diffstat (limited to 'deviantion.go')
| -rw-r--r-- | deviantion.go | 24 |
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 } |
