package utils import ( "fmt" "io/ioutil" "os" "path" "path/filepath" "strings" "time" "hack-browser-data/log" ) func CopyDB(src, dst string) error { locals, _ := filepath.Glob("*") for _, v := range locals { if v == dst { err := os.Remove(dst) if err != nil { return err } } } sourceFile, err := ioutil.ReadFile(src) if err != nil { log.Debug(err.Error()) } err = ioutil.WriteFile(dst, sourceFile, 0777) if err != nil { log.Debug(err.Error()) } return err } func IntToBool(a int) bool { switch a { case 0, -1: return false } return true } func BookMarkType(a int64) string { switch a { case 1: return "url" default: return "folder" } } func TimeStampFormat(stamp int64) time.Time { s1 := time.Unix(stamp, 0) return s1 } func TimeEpochFormat(epoch int64) time.Time { maxTime := int64(99633311740000000) if epoch > maxTime { return time.Date(2049, 1, 1, 1, 1, 1, 1, time.Local) } t := time.Date(1601, 1, 1, 0, 0, 0, 0, time.UTC) d := time.Duration(epoch) for i := 0; i < 1000; i++ { t = t.Add(d) } return t } func ReadFile(filename string) (string, error) { s, err := ioutil.ReadFile(filename) return string(s), err } func WriteFile(filename string, data []byte) error { err := ioutil.WriteFile(filename, data, 0644) if err != nil { return nil } return err } func FormatFileName(dir, browser, filename, format string) string { r := strings.TrimSpace(strings.ToLower(browser)) r = strings.Replace(browser, " ", "_", -1) p := path.Join(dir, fmt.Sprintf("%s_%s.%s", r, filename, format)) return p } func MakeDir(dirName string) { if _, err := os.Stat(dirName); os.IsNotExist(err) { err = os.Mkdir(dirName, 0700) } }