tools.aw_id
2023-08-19
Child:c5a3039be65e
0:1a48eceb43e7 Browse Files
..init
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/.hgignore Sat Aug 19 21:25:07 2023 +0300 1.3 @@ -0,0 +1,6 @@ 1.4 +syntax: glob 1.5 + 1.6 +builds/* 1.7 +src/go.mod 1.8 +src/go.sum 1.9 +
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/make.sh Sat Aug 19 21:25:07 2023 +0300 2.3 @@ -0,0 +1,15 @@ 2.4 +#!/bin/sh 2.5 +my_path="$(readlink -f "$0")" 2.6 +app_dir="$(dirname "$my_path")" 2.7 + 2.8 +src="$app_dir/src" 2.9 +res="$app_dir/builds" 2.10 + 2.11 +mkdir -p "$res" 2.12 + 2.13 +alias build='go build -v -x' 2.14 + 2.15 +cd "$src" 2.16 +go fmt 2.17 +build -o "$res/aw_id" 2.18 +GOOS=windows GOARCH=amd64 build -o "$res/aw_id.exe"
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/src/main.go Sat Aug 19 21:25:07 2023 +0300 3.3 @@ -0,0 +1,78 @@ 3.4 +// devel.a0fs.ru -- aw_id -- v0.r202308.1 // 3.5 +/* 3.6 + Утилиты генерирования полезных в работе ID 3.7 +*/ 3.8 +package main 3.9 + 3.10 +import ( 3.11 + "fmt" 3.12 + "os" 3.13 + "time" 3.14 + 3.15 + "github.com/google/uuid" 3.16 +) 3.17 + 3.18 +const ( 3.19 + TIME_ID = iota 3.20 + TIME_HUM 3.21 + TIME_HUM_SAFE 3.22 + TIME_HUM_SAFE2 3.23 +) 3.24 + 3.25 +func get_time_id(id_type int) string { 3.26 + cur_time := time.Now() 3.27 + var time_format string = time.RFC3339 3.28 + 3.29 + switch id_type { 3.30 + case TIME_ID: 3.31 + time_format = "20060102-150405" 3.32 + case TIME_HUM: 3.33 + time_format = "2006-01-02 15:04:05" 3.34 + case TIME_HUM_SAFE: 3.35 + time_format = "2006-01-02 15-04-05" 3.36 + case TIME_HUM_SAFE2: 3.37 + time_format = "2006-01-02_15-04-05" 3.38 + } 3.39 + 3.40 + return cur_time.Format(time_format) 3.41 +} 3.42 + 3.43 +func get_uuid() string { 3.44 + res := uuid.New() 3.45 + return res.String() 3.46 +} 3.47 + 3.48 +func prnt_out(k, v string) { 3.49 + fmt.Printf("%10s : %s\n", k, v) 3.50 +} 3.51 + 3.52 +func make_all_ids() { 3.53 + prnt_out("uuid", get_uuid()) 3.54 + prnt_out("ts", get_time_id(TIME_ID)) 3.55 + prnt_out("hr", get_time_id(TIME_HUM)) 3.56 + prnt_out("hrs", get_time_id(TIME_HUM_SAFE)) 3.57 + prnt_out("hrs2", get_time_id(TIME_HUM_SAFE2)) 3.58 + fmt.Println("") 3.59 +} 3.60 + 3.61 +func main() { 3.62 + if len(os.Args) > 1 { 3.63 + switch os.Args[1] { 3.64 + case "uuid": 3.65 + fmt.Println(get_uuid()) 3.66 + case "ts": 3.67 + fmt.Println(get_time_id(TIME_ID)) 3.68 + case "hr": 3.69 + fmt.Println(get_time_id(TIME_HUM)) 3.70 + case "hrs": 3.71 + fmt.Println(get_time_id(TIME_HUM_SAFE)) 3.72 + case "hrs2": 3.73 + fmt.Println(get_time_id(TIME_HUM_SAFE2)) 3.74 + default: 3.75 + fmt.Println("Need one of: uuid, ts, hr, hrs, hrs2") 3.76 + } 3.77 + fmt.Println("") 3.78 + } else { 3.79 + make_all_ids() 3.80 + } 3.81 +}