commit f5aabd99ecb097d4ff7aaf2fd49389f2ab54f899
parent 1f052c23bbceb23ae1b2face4d28f61131238303
Author: Peter Kosyh <p.kosyh@gmail.com>
Date: Mon, 7 Sep 2020 12:32:28 +0300
up
Diffstat:
2 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/ii-node/web.go b/ii-node/web.go
@@ -124,16 +124,28 @@ func www_index(ctx *WebContext, w http.ResponseWriter, r *http.Request) error {
}
func www_avatar(ctx *WebContext, w http.ResponseWriter, r *http.Request, user string) error {
- // udb := ctx.www.udb
- // u := udb.UserInfo(udb.Name(user))
- // ava, _ := u.Tags.Get("avatar")
- // if ava == "" {
- // return nil
- // }
- // if data, err := base64.StdEncoding.DecodeString(ava); err != nil {
- // txt := msg_clean(string(data))
- // lines := strings.Split(txt, "\n")
- // }
+ udb := ctx.www.udb
+ ava, _ := u.Tags.Get("avatar")
+ if ava == "" {
+ return nil
+ }
+ if data, err := base64.StdEncoding.DecodeString(ava); err != nil {
+ txt := msg_clean(string(data))
+ lines := strings.Split(txt, "\n")
+ img, skip = ParseXpm(lines)
+ if img == nil {
+ return nil
+ }
+ b := new(bytes.Buffer)
+ if err := png.Encode(b, img); err == nil {
+ w.Header().Set("Content-Type", "image/jpeg")
+ w.Header().Set("Content-Length", fmt.Sprintf("%d", len(buffer.Bytes())))
+ if _, err := w.Write(buffer.Bytes()); err != nil {
+ return nil
+ }
+ return nil
+ }
+ }
return nil
}
diff --git a/ii-tool/main.go b/ii-tool/main.go
@@ -21,9 +21,9 @@ func open_db(path string) *ii.DB {
}
func open_users_db(path string) *ii.UDB {
- db := ii.LoadUsers(path)
- if db == nil {
- fmt.Printf("Can no open db: %s\n", path)
+ db := ii.OpenUsers(path)
+ if err := db.LoadUsers(); err != nil {
+ fmt.Printf("Can no load db: %s\n", path)
os.Exit(1)
}
return db