1
0
mirror of https://github.com/fumiama/imago.git synced 2026-06-19 09:00:25 +08:00

更新log

This commit is contained in:
fumiama
2021-08-10 19:40:35 +08:00
parent e5efa191af
commit 0a7701a2ca

View File

@@ -26,7 +26,7 @@ var (
func init() { func init() {
log.SetFormatter(&easy.Formatter{ log.SetFormatter(&easy.Formatter{
TimestampFormat: "2006-01-02 15:04:05", TimestampFormat: "2006-01-02 15:04:05",
LogFormat: "[imago][%time%][%lvl%]: %msg% \n", LogFormat: "[imago][%time%][%lvl%]: %msg%\n",
}) })
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)
} }
@@ -62,10 +62,10 @@ func Addimage(name string) {
defer mutex.Unlock() defer mutex.Unlock()
if images[index] == nil { if images[index] == nil {
images[index] = make([]string, 0) images[index] = make([]string, 0)
log.Debugln("[addimage] create index", index, ".") log.Debugf("[addimage] create index %v.", index)
} }
images[index] = append(images[index], tail) images[index] = append(images[index], tail)
log.Debugln("[addimage] index", index, "append file", tail, ".") log.Debugf("[addimage] index %v append file %v.", index, tail)
images["sum"] = append(images["sum"], name) images["sum"] = append(images["sum"], name)
} }
@@ -80,51 +80,51 @@ func Saveimgbytes(b []byte, imgdir string, force bool, samediff int) (string, st
if err == nil { if err == nil {
iswebp = true iswebp = true
} else { } else {
log.Errorf("[saveimg] decode image error: %v\n", err) log.Errorf("[saveimg] decode image error: %v", err)
return "\"stat\": \"notanimg\"", "" return "\"stat\": \"notanimg\"", ""
} }
} }
dh, err := GetDHashStr(img) dh, err := GetDHashStr(img)
if err != nil { if err != nil {
log.Errorf("[saveimg] get dhash error: %v\n", err) log.Errorf("[saveimg] get dhash error: %v", err)
return "\"stat\": \"dherr\"", "" return "\"stat\": \"dherr\"", ""
} }
if force { if force {
if Imgexsits(dh) { if Imgexsits(dh) {
log.Debugf("[saveimg] force find similar image %s.\n", dh) log.Debugf("[saveimg] force find similar image %s.", dh)
return "\"stat\":\"exist\", \"img\": \"" + url.QueryEscape(dh) + "\"", dh return "\"stat\":\"exist\", \"img\": \"" + url.QueryEscape(dh) + "\"", dh
} }
} else { } else {
for _, name := range images["sum"] { for _, name := range images["sum"] {
diff, err := HammDistance(dh, name) diff, err := HammDistance(dh, name)
if err == nil && diff <= samediff { // 认为是一张图片 if err == nil && diff <= samediff { // 认为是一张图片
log.Debugf("[saveimg] old %s.\n", name) log.Debugf("[saveimg] old %s.", name)
return "\"stat\":\"exist\", \"img\": \"" + url.QueryEscape(name) + "\"", name return "\"stat\":\"exist\", \"img\": \"" + url.QueryEscape(name) + "\"", name
} }
} }
} }
f, err := os.Create(imgdir + dh + ".webp") f, err := os.Create(imgdir + dh + ".webp")
if err != nil { if err != nil {
log.Errorf("[saveimg] create webp file error: %v\n", err) log.Errorf("[saveimg] create webp file error: %v", err)
return "\"stat\": \"ioerr\"", "" return "\"stat\": \"ioerr\"", ""
} }
defer f.Close() defer f.Close()
if !iswebp { if !iswebp {
options, err := encoder.NewLossyEncoderOptions(encoder.PresetDefault, 75) options, err := encoder.NewLossyEncoderOptions(encoder.PresetDefault, 75)
if err != nil || webp.Encode(f, img, options) != nil { if err != nil || webp.Encode(f, img, options) != nil {
log.Errorf("[saveimg] encode webp error: %v\n", err) log.Errorf("[saveimg] encode webp error: %v", err)
return "\"stat\": \"encerr\"", "" return "\"stat\": \"encerr\"", ""
} }
} else { } else {
r.Seek(0, io.SeekStart) r.Seek(0, io.SeekStart)
c, err := io.Copy(f, r) c, err := io.Copy(f, r)
if err != nil { if err != nil {
log.Errorf("[saveimg] copy file error: %v\n", err) log.Errorf("[saveimg] copy file error: %v", err)
return "\"stat\": \"ioerr\"", "" return "\"stat\": \"ioerr\"", ""
} }
log.Debugf("[saveimg] save %d bytes.\n", c) log.Debugf("[saveimg] save %d bytes.", c)
} }
log.Debugf("[saveimg] new %s.\n", dh) log.Debugf("[saveimg] new %s.", dh)
Addimage(dh) Addimage(dh)
return "\"stat\":\"success\", \"img\": \"" + url.QueryEscape(dh) + "\"", dh return "\"stat\":\"success\", \"img\": \"" + url.QueryEscape(dh) + "\"", dh
} }