1 Star 0 Fork 0

妙音/files

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
context.go 1.50 KB
一键复制 编辑 原始数据 按行查看 历史
妙音 提交于 2021-06-03 15:28 +08:00 . windows
package files
import (
"log"
"strings"
"gitee.com/xuender/oils/logs"
"github.com/spf13/cobra"
)
// Context 上下文.
type Context struct {
// DataBasePath 数据库目录.
DataBasePath string
Limit int
Offset int
Ext string
// Simple 简单输出格式.
Simple bool
Debug bool
Remove bool
Order string
Desc bool
Regexp bool
HasRegexp bool
}
// NewContext 新建上下文.
func NewContext(cmd *cobra.Command) *Context {
ctx := &Context{}
ctx.regexp()
if db, err := cmd.Flags().GetString("db"); db != "" && err == nil {
ctx.DataBasePath = db
}
ctx.Remove, _ = cmd.Flags().GetBool("remove")
ctx.Simple, _ = cmd.Flags().GetBool("simple")
ctx.search(cmd)
ctx.log(cmd)
return ctx
}
func (p *Context) search(cmd *cobra.Command) {
if limit, err := cmd.Flags().GetInt("limit"); err == nil {
p.Limit = limit
}
if offset, err := cmd.Flags().GetInt("offset"); err == nil {
p.Offset = offset
}
if order, err := cmd.Flags().GetString("order"); err == nil {
p.Order = order
}
if ext, err := cmd.Flags().GetString("ext"); err == nil {
p.Ext = ext
if ext != "" && !strings.HasPrefix(ext, ".") {
p.Ext = "." + p.Ext
}
}
p.Regexp, _ = cmd.Flags().GetBool("regexp")
p.Desc, _ = cmd.Flags().GetBool("desc")
}
func (p *Context) log(cmd *cobra.Command) {
logs.SetLevel(logs.LevelInfo)
if d, err := cmd.Flags().GetBool("debug"); err == nil && d {
p.Debug = d
logs.SetLevel(logs.LevelDebug)
logs.SetFlags(log.Lshortfile | log.LstdFlags)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xuender/files.git
git@gitee.com:xuender/files.git
xuender
files
files
v1.0.2

搜索帮助