utils

package
v1.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2018 License: Apache-2.0 Imports: 30 Imported by: 77

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddHttpProtocal added in v1.3.6

func AddHttpProtocal(url string) string

func CheckFileMode added in v1.4.4

func CheckFileMode(path string, fileMode os.FileMode) error

func CreateDirIfNotExist

func CreateDirIfNotExist(dir string) (err error)

CreateDirIfNotExist 检查文件夹,不存在时创建

func DecompressGzip added in v1.4.2

func DecompressGzip(packPath, dstDir string) (packDir string, err error)

func DecompressZip added in v1.4.2

func DecompressZip(packFilePath, dstDir string) (packDir string, err error)

func DeleteMapValue added in v1.4.1

func DeleteMapValue(m map[string]interface{}, keys ...string) (interface{}, bool)

通过层级key删除key-val,并返回被删除的val,是否删除成功 如果key不存在,则返回 nil,false

func ExtractField added in v1.3.6

func ExtractField(slice []string) ([]string, error)

func GetEnv

func GetEnv(env string) string

parse ${ENV} to ENV get ENV value from os

func GetExtraInfo added in v1.4.0

func GetExtraInfo() map[string]string

func GetIdentifyIDByFile

func GetIdentifyIDByFile(f *os.File) (uint64, error)

func GetIdentifyIDByPath

func GetIdentifyIDByPath(path string) (uint64, error)

func GetKeys added in v1.4.1

func GetKeys(keyStr string) []string

根据key字符串,拆分出层级keys数据

func GetLocalIP added in v1.3.6

func GetLocalIP() (string, error)

func GetMapValue added in v1.4.1

func GetMapValue(m map[string]interface{}, keys ...string) (interface{}, error)

通过层级key获取value. 所有层级的map必须为 map[string]interface{} 类型. keys为空切片,返回原m

func GetRealPath

func GetRealPath(path string) (newPath string, fi os.FileInfo, err error)

GetRealPath 处理软链接等,找到文件真实路径

func Hash added in v1.4.4

func Hash(s string) string

func IsJsonString added in v1.4.2

func IsJsonString(s string) bool

func LogDirAndPattern added in v1.4.1

func LogDirAndPattern(logpath string) (dir, pattern string, err error)

创建目录,并返回日志模式

func MongoDail

func MongoDail(host string, mode string, syncTimeoutInS int64) (session *mgo.Session, err error)

------------------------------------------------------------------------

func ReadDirByTime

func ReadDirByTime(dir string) (files []os.FileInfo, err error)

ReadDirByTime 读取文件目录后按时间排序,时间最新的文件在前

func RemoveHttpProtocal added in v1.3.6

func RemoveHttpProtocal(url string) (hostport, schema string)

func SetMapValue added in v1.4.1

func SetMapValue(m map[string]interface{}, val interface{}, coercive bool, keys ...string) error

通过层级key设置value值. 如果key不存在,将会自动创建. 当coercive为true时,会强制将非map[string]interface{}类型替换为map[string]interface{}类型,有可能导致数据丢失

func SetMode

func SetMode(s *mgo.Session, modeFriendly string, refresh bool)

func SortFilesByTime

func SortFilesByTime(files []os.FileInfo) (soredfiles []os.FileInfo)

SortFilesByTime 按照文件更新的unixnano从大到小排,即最新的文件在前

func TrimeList

func TrimeList(strs []string) (ret []string)

func TuoDecode

func TuoDecode(value []byte) (values [][]byte, err error)

TuoDecode 按照 TuoEncode的压缩算法解压,还原出[]byte数组。

func TuoEncode

func TuoEncode(values []sql.RawBytes) (ret []byte)

TuoEncode 把[]byte数组按照长度拼接到一起,每个sql.RawBytes之间间隔4个byte用于存储长度。

func WaitForInterrupt

func WaitForInterrupt(interrupt func())

Types

type Collection

type Collection struct {
	*mgo.Collection
}

func (Collection) CloseSession

func (c Collection) CloseSession() (err error)

type ErrorResponse added in v1.2.3

type ErrorResponse struct {
	Error error `json:"error"`
}

func NewErrorResponse added in v1.2.3

func NewErrorResponse(err error) *ErrorResponse

type File

type File struct {
	Info os.FileInfo
	Path string
}

func GetLogFiles

func GetLogFiles(doneFilePath string) (files []File)

type HashSet added in v1.4.0

type HashSet struct {
	// contains filtered or unexported fields
}

func NewHashSet added in v1.4.0

func NewHashSet() *HashSet

func (*HashSet) Add added in v1.4.0

func (s *HashSet) Add(ele interface{})

func (*HashSet) AddStringArray added in v1.4.0

func (s *HashSet) AddStringArray(ele []string)

func (*HashSet) Clear added in v1.4.0

func (s *HashSet) Clear()

func (*HashSet) Elements added in v1.4.0

func (s *HashSet) Elements() []interface{}

func (*HashSet) IsEmpty added in v1.4.0

func (s *HashSet) IsEmpty() bool

func (*HashSet) IsIn added in v1.4.0

func (s *HashSet) IsIn(ele interface{}) bool

func (*HashSet) Len added in v1.4.0

func (s *HashSet) Len() int

func (*HashSet) Remove added in v1.4.0

func (s *HashSet) Remove(ele interface{})

type Int64Slice

type Int64Slice []int64

Int64Slice attaches the methods of Interface to []int64, sorting in decreasing order.

func (Int64Slice) Len

func (p Int64Slice) Len() int

func (Int64Slice) Less

func (p Int64Slice) Less(i, j int) bool

func (Int64Slice) Sort

func (p Int64Slice) Sort()

Sort is a convenience method.

func (Int64Slice) Swap

func (p Int64Slice) Swap(i, j int)

type MongoConfig

type MongoConfig struct {
	Host           string `json:"host"`
	DB             string `json:"db"`
	Mode           string `json:"mode"`
	SyncTimeoutInS int64  `json:"timeout"` // 以秒为单位
	Direct         bool   `json:"direct"`
}

type OSInfo added in v1.3.2

type OSInfo struct {
	Kernel   string
	Core     string
	Platform string
	OS       string
	Hostname string
}

func GetOSInfo added in v1.3.2

func GetOSInfo() *OSInfo

func (*OSInfo) String added in v1.3.2

func (oi *OSInfo) String() string

type SchemaErr added in v1.4.1

type SchemaErr struct {
	Number int64
	Last   time.Time
}

func (*SchemaErr) Output added in v1.4.1

func (s *SchemaErr) Output(count int64, err error)

type StatsError

type StatsError struct {
	StatsInfo
	ErrorDetail error `json:"error"`
	Ft          bool  `json:"-"`
	ErrorIndex  []int
}

func (*StatsError) AddErrors

func (se *StatsError) AddErrors()

func (*StatsError) AddSuccess

func (se *StatsError) AddSuccess()

func (*StatsError) Error

func (se *StatsError) Error() string

func (*StatsError) ErrorIndexIn

func (se *StatsError) ErrorIndexIn(idx int) bool

type StatsInfo

type StatsInfo struct {
	Errors    int64   `json:"errors"`
	Success   int64   `json:"success"`
	Speed     float64 `json:"speed"`
	Trend     string  `json:"trend"`
	LastError string  `json:"last_error"`
	Ftlag     int64   `json:"-"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL