openidec

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit f5aabd99ecb097d4ff7aaf2fd49389f2ab54f899
parent 1f052c23bbceb23ae1b2face4d28f61131238303
Author: Peter Kosyh <p.kosyh@gmail.com>
Date:   Mon,  7 Sep 2020 12:32:28 +0300

up

Diffstat:
Mii-node/web.go | 32++++++++++++++++++++++----------
Mii-tool/main.go | 6+++---
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