mirror of
https://github.com/fumiama/emozi.git
synced 2026-06-10 04:50:23 +08:00
init
This commit is contained in:
54
codegen/radical/main.go
Normal file
54
codegen/radical/main.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"html/template"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
sql "github.com/FloatTech/sqlite"
|
||||
"github.com/fumiama/emozi"
|
||||
)
|
||||
|
||||
const head = `// Code generated by codegen/radical. 已经经过修改, 不要手动重新运行.
|
||||
|
||||
package emozi
|
||||
|
||||
// 部首后备 内嵌的部首到颜文字的映射, 是第二优先查询顺位. 第一顺位是数据库的部首表. 第三位是回落到 🈳️.
|
||||
var 部首后备 = map[rune]string{ {{range .}}
|
||||
'{{.R}}': "🈳️",{{end}}
|
||||
}
|
||||
`
|
||||
|
||||
func main() {
|
||||
db := sql.Sqlite{DBPath: emozi.EmoziDatabasePath}
|
||||
err := db.Open(time.Minute)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer db.Close()
|
||||
type r struct {
|
||||
R rune
|
||||
}
|
||||
type sr struct {
|
||||
R string
|
||||
}
|
||||
var s r
|
||||
var ss = []sr{}
|
||||
db.QueryFor("SELECT DISTINCT R FROM emozi;", &s, func() error {
|
||||
ss = append(ss, sr{R: string(s.R)})
|
||||
return nil
|
||||
})
|
||||
t, err := template.New("list").Parse(head)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
f, err := os.Create("radical.go")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer f.Close()
|
||||
err = t.Execute(f, ss)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user