tools.aw_id

Yohn Y. 2024-07-06 Parent:cf05ae943d95 Child:3a967e85c0ca

10:05d07cc3040d Go to Latest

tools.aw_id/src/main.go

+ Время в Российском формате

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