summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--deviantion.go15
-rw-r--r--misc.go7
-rw-r--r--user-group.go24
-rw-r--r--util.go6
4 files changed, 32 insertions, 20 deletions
diff --git a/deviantion.go b/deviantion.go
index 288b0e2..197f2af 100644
--- a/deviantion.go
+++ b/deviantion.go
@@ -149,12 +149,15 @@ func GetDeviation(id string, user string) (st Post, err Error) {
}
}
- json.Unmarshal([]byte(txt), &description)
- for _, a := range description.Blocks {
- txt = a.Text
- }
- }
+ if err := json.Unmarshal([]byte(txt), &description); err != nil {
+ // Handle error appropriately
+ try(err) // or log/return the error
+ }
+ for _, a := range description.Blocks {
+ txt = a.Text
+ }
+ }
st.Description = txt
-
+
return
}
diff --git a/misc.go b/misc.go
index cda4374..8e6c5aa 100644
--- a/misc.go
+++ b/misc.go
@@ -78,9 +78,14 @@ type Search struct {
ResultsGalleryTemp []Deviation `json:"results"`
}
-func PerformSearch(query string, page int, scope rune, user ...string) (ss Search, err error, daError Error) {
+func PerformSearch(query string, page int, scope rune, user ...string) (ss Search, daError Error, err error) {
var buildurl strings.Builder
+ if user == nil {
+ err = errors.New("missing username (last argument)")
+ return
+ }
+
// о5 построение ссылок.
switch scope {
case 'a': // поиск артов по названию
diff --git a/user-group.go b/user-group.go
index 733eda5..d84c2c8 100644
--- a/user-group.go
+++ b/user-group.go
@@ -75,13 +75,13 @@ type Group struct {
}
// подходит как группа, так и пользователь
-func (s Group) Get() (g GRuser, err error, daError Error) {
- if s.Name == "" {
- return g, errors.New("missing Name field"), daError
- }
- daError = ujson("dauserprofile/init/about?username="+s.Name, &g)
+func (s Group) Get() (g GRuser, daError Error, err error) {
+ if s.Name == "" {
+ return g, daError, errors.New("missing Name field")
+ }
+ daError = ujson("dauserprofile/init/about?username="+s.Name, &g)
- return
+ return
}
func (s Group) Favourites(page int, all bool, folderid ...int) (g Group, err Error) {
@@ -110,10 +110,10 @@ func (s Group) Favourites(page int, all bool, folderid ...int) (g Group, err Err
}
// гарелея пользователя или группы
-func (s Group) Gallery(page int, folderid ...int) (g Group, err error, daError Error) {
- if s.Name == "" {
- return g, errors.New("missing Name field"), daError
- }
+func (s Group) Gallery(page int, folderid ...int) (g Group, daError Error, err error) {
+ if s.Name == "" {
+ return g, daError, errors.New("missing Name field")
+ }
var url strings.Builder
if folderid[0] > 0 {
@@ -135,8 +135,8 @@ func (s Group) Gallery(page int, folderid ...int) (g Group, err error, daError E
url.WriteString("limit=50")
url.WriteString("&with_subfolders=false")
- daError = ujson(url.String(), &g.Content)
- return
+ daError = ujson(url.String(), &g.Content)
+ return
}
type GroupAbout struct {
diff --git a/util.go b/util.go
index dddd7db..ac3e3e4 100644
--- a/util.go
+++ b/util.go
@@ -94,7 +94,11 @@ func request(uri string, other ...string) reqrt {
r.Err = e
return r
}
- defer resp.Body.Close()
+ defer func() {
+ if err := resp.Body.Close(); err != nil {
+ try(err)
+ }
+ }()
body, e := io.ReadAll(resp.Body)
if e != nil {