tools.aw_id

Yohn Y. 2023-10-26 Parent:e2724947cc46 Child:74cbe13e3391

7:6ab692934e18 Go to Latest

tools.aw_id/src/main.go

+ Вывод шаблона версии

History
1 // devel.a0fs.ru -- aw_id -- v0.r202310.1 //
2 /*
3 Утилиты генерирования полезных в работе ID
4 */
5 package main
7 import (
8 "fmt"
9 "os"
10 "time"
12 "github.com/google/uuid"
13 )
15 const (
16 TIME_ID = iota
17 TIME_HUM
18 TIME_HUM_SAFE
19 TIME_HUM_SAFE2
20 TIME_ID_SHORT
21 TIME_ID_SHORT2
22 )
24 func get_time_id(id_type int) string {
25 cur_time := time.Now()
26 var time_format string = time.RFC3339
28 switch id_type {
29 case TIME_ID:
30 time_format = "20060102-150405"
31 case TIME_HUM:
32 time_format = "2006-01-02 15:04:05"
33 case TIME_HUM_SAFE:
34 time_format = "2006-01-02 15-04-05"
35 case TIME_HUM_SAFE2:
36 time_format = "2006-01-02_15-04-05"
37 case TIME_ID_SHORT:
38 time_format = "20060102"
39 case TIME_ID_SHORT2:
40 time_format = "200601"
41 }
43 return cur_time.Format(time_format)
44 }
46 func get_uuid() string {
47 res := uuid.New()
48 return res.String()
49 }
51 func get_ver_id() string {
52 return fmt.Sprintf("v0.r%s.1", get_time_id(TIME_ID_SHORT2))
53 }
55 func prnt_out(k, v string) {
56 fmt.Printf("%10s : %s\n", k, v)
57 }
59 func make_all_ids() {
60 prnt_out("uuid", get_uuid())
61 prnt_out("ts", get_time_id(TIME_ID))
62 prnt_out("tss", get_time_id(TIME_ID_SHORT))
63 prnt_out("tss2", get_time_id(TIME_ID_SHORT2))
64 prnt_out("hr", get_time_id(TIME_HUM))
65 prnt_out("hrs", get_time_id(TIME_HUM_SAFE))
66 prnt_out("hrs2", get_time_id(TIME_HUM_SAFE2))
67 prnt_out("v", get_ver_id())
68 fmt.Println("")
69 }
71 func main() {
72 if len(os.Args) > 1 {
73 switch os.Args[1] {
74 case "uuid":
75 fmt.Println(get_uuid())
76 case "ts":
77 fmt.Println(get_time_id(TIME_ID))
78 case "hr":
79 fmt.Println(get_time_id(TIME_HUM))
80 case "hrs":
81 fmt.Println(get_time_id(TIME_HUM_SAFE))
82 case "hrs2":
83 fmt.Println(get_time_id(TIME_HUM_SAFE2))
84 case "tss":
85 fmt.Println(get_time_id(TIME_ID_SHORT))
86 case "tss2":
87 fmt.Println(get_time_id(TIME_ID_SHORT2))
88 case "v":
89 fmt.Println(get_ver_id())
90 default:
91 fmt.Println("Need one of: uuid, ts, tss, tss2, hr, hrs, hrs2, v")
92 }
93 fmt.Println("")
94 } else {
95 make_all_ids()
96 }
97 }