tools.aw_id
2023-08-19
Child:c492395606de
tools.aw_id/src/main.go
..init
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/main.go Sat Aug 19 21:25:07 2023 +0300 1.3 @@ -0,0 +1,78 @@ 1.4 +// devel.a0fs.ru -- aw_id -- v0.r202308.1 // 1.5 +/* 1.6 + Утилиты генерирования полезных в работе ID 1.7 +*/ 1.8 +package main 1.9 + 1.10 +import ( 1.11 + "fmt" 1.12 + "os" 1.13 + "time" 1.14 + 1.15 + "github.com/google/uuid" 1.16 +) 1.17 + 1.18 +const ( 1.19 + TIME_ID = iota 1.20 + TIME_HUM 1.21 + TIME_HUM_SAFE 1.22 + TIME_HUM_SAFE2 1.23 +) 1.24 + 1.25 +func get_time_id(id_type int) string { 1.26 + cur_time := time.Now() 1.27 + var time_format string = time.RFC3339 1.28 + 1.29 + switch id_type { 1.30 + case TIME_ID: 1.31 + time_format = "20060102-150405" 1.32 + case TIME_HUM: 1.33 + time_format = "2006-01-02 15:04:05" 1.34 + case TIME_HUM_SAFE: 1.35 + time_format = "2006-01-02 15-04-05" 1.36 + case TIME_HUM_SAFE2: 1.37 + time_format = "2006-01-02_15-04-05" 1.38 + } 1.39 + 1.40 + return cur_time.Format(time_format) 1.41 +} 1.42 + 1.43 +func get_uuid() string { 1.44 + res := uuid.New() 1.45 + return res.String() 1.46 +} 1.47 + 1.48 +func prnt_out(k, v string) { 1.49 + fmt.Printf("%10s : %s\n", k, v) 1.50 +} 1.51 + 1.52 +func make_all_ids() { 1.53 + prnt_out("uuid", get_uuid()) 1.54 + prnt_out("ts", get_time_id(TIME_ID)) 1.55 + prnt_out("hr", get_time_id(TIME_HUM)) 1.56 + prnt_out("hrs", get_time_id(TIME_HUM_SAFE)) 1.57 + prnt_out("hrs2", get_time_id(TIME_HUM_SAFE2)) 1.58 + fmt.Println("") 1.59 +} 1.60 + 1.61 +func main() { 1.62 + if len(os.Args) > 1 { 1.63 + switch os.Args[1] { 1.64 + case "uuid": 1.65 + fmt.Println(get_uuid()) 1.66 + case "ts": 1.67 + fmt.Println(get_time_id(TIME_ID)) 1.68 + case "hr": 1.69 + fmt.Println(get_time_id(TIME_HUM)) 1.70 + case "hrs": 1.71 + fmt.Println(get_time_id(TIME_HUM_SAFE)) 1.72 + case "hrs2": 1.73 + fmt.Println(get_time_id(TIME_HUM_SAFE2)) 1.74 + default: 1.75 + fmt.Println("Need one of: uuid, ts, hr, hrs, hrs2") 1.76 + } 1.77 + fmt.Println("") 1.78 + } else { 1.79 + make_all_ids() 1.80 + } 1.81 +}