tools.aw_id

Yohn Y. 2024-02-17 Parent:6ab692934e18 Child:cf05ae943d95

8:74cbe13e3391 Go to Latest

tools.aw_id/src/main.go

+ Генерация версии без дополнительных буквенных указаний на версию и релиз

History
1 // devel.a0fs.ru -- aw_id -- v1.r202402.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 get_ver_id2() string {
56 return fmt.Sprintf("0.%s.1", get_time_id(TIME_ID_SHORT2))
57 }
59 func prnt_out(k, v string) {
60 fmt.Printf("%10s : %s\n", k, v)
61 }
63 func make_all_ids() {
64 prnt_out("uuid", get_uuid())
65 prnt_out("ts", get_time_id(TIME_ID))
66 prnt_out("tss", get_time_id(TIME_ID_SHORT))
67 prnt_out("tss2", get_time_id(TIME_ID_SHORT2))
68 prnt_out("hr", get_time_id(TIME_HUM))
69 prnt_out("hrs", get_time_id(TIME_HUM_SAFE))
70 prnt_out("hrs2", get_time_id(TIME_HUM_SAFE2))
71 prnt_out("v", get_ver_id())
72 prnt_out("vs", get_ver_id2())
73 fmt.Println("")
74 }
76 func main() {
77 if len(os.Args) > 1 {
78 switch os.Args[1] {
79 case "uuid":
80 fmt.Println(get_uuid())
81 case "ts":
82 fmt.Println(get_time_id(TIME_ID))
83 case "hr":
84 fmt.Println(get_time_id(TIME_HUM))
85 case "hrs":
86 fmt.Println(get_time_id(TIME_HUM_SAFE))
87 case "hrs2":
88 fmt.Println(get_time_id(TIME_HUM_SAFE2))
89 case "tss":
90 fmt.Println(get_time_id(TIME_ID_SHORT))
91 case "tss2":
92 fmt.Println(get_time_id(TIME_ID_SHORT2))
93 case "v":
94 fmt.Println(get_ver_id())
95 case "vs":
96 fmt.Println(get_ver_id2())
97 default:
98 fmt.Println("Need one of: uuid, ts, tss, tss2, hr, hrs, hrs2, v")
99 }
100 fmt.Println("")
101 } else {
102 make_all_ids()