tools.aw_id
tools.aw_id/src/main.go
. Эти файлы тоже нужны
| awgur@3 | 1 // devel.a0fs.ru -- aw_id -- v0.r202309.2 // |
| 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@0 | 18 TIME_HUM_SAFE |
| awgur@0 | 19 TIME_HUM_SAFE2 |
| awgur@2 | 20 TIME_ID_SHORT |
| awgur@2 | 21 TIME_ID_SHORT2 |
| awgur@0 | 22 ) |
| awgur@0 | 23 |
| awgur@0 | 24 func get_time_id(id_type int) string { |
| awgur@0 | 25 cur_time := time.Now() |
| awgur@0 | 26 var time_format string = time.RFC3339 |
| awgur@0 | 27 |
| awgur@0 | 28 switch id_type { |
| awgur@0 | 29 case TIME_ID: |
| awgur@0 | 30 time_format = "20060102-150405" |
| awgur@0 | 31 case TIME_HUM: |
| awgur@0 | 32 time_format = "2006-01-02 15:04:05" |
| awgur@0 | 33 case TIME_HUM_SAFE: |
| awgur@0 | 34 time_format = "2006-01-02 15-04-05" |
| awgur@0 | 35 case TIME_HUM_SAFE2: |
| awgur@0 | 36 time_format = "2006-01-02_15-04-05" |
| awgur@2 | 37 case TIME_ID_SHORT: |
| awgur@3 | 38 time_format = "20060102" |
| awgur@2 | 39 case TIME_ID_SHORT2: |
| awgur@3 | 40 time_format = "200601" |
| awgur@0 | 41 } |
| awgur@0 | 42 |
| awgur@0 | 43 return cur_time.Format(time_format) |
| awgur@0 | 44 } |
| awgur@0 | 45 |
| awgur@0 | 46 func get_uuid() string { |
| awgur@0 | 47 res := uuid.New() |
| awgur@0 | 48 return res.String() |
| awgur@0 | 49 } |
| awgur@0 | 50 |
| awgur@0 | 51 func prnt_out(k, v string) { |
| awgur@0 | 52 fmt.Printf("%10s : %s\n", k, v) |
| awgur@0 | 53 } |
| awgur@0 | 54 |
| awgur@0 | 55 func make_all_ids() { |
| awgur@0 | 56 prnt_out("uuid", get_uuid()) |
| awgur@0 | 57 prnt_out("ts", get_time_id(TIME_ID)) |
| awgur@2 | 58 prnt_out("tss", get_time_id(TIME_ID_SHORT)) |
| awgur@2 | 59 prnt_out("tss2", get_time_id(TIME_ID_SHORT2)) |
| awgur@0 | 60 prnt_out("hr", get_time_id(TIME_HUM)) |
| awgur@0 | 61 prnt_out("hrs", get_time_id(TIME_HUM_SAFE)) |
| awgur@0 | 62 prnt_out("hrs2", get_time_id(TIME_HUM_SAFE2)) |
| awgur@0 | 63 fmt.Println("") |
| awgur@0 | 64 } |
| awgur@0 | 65 |
| awgur@0 | 66 func main() { |
| awgur@0 | 67 if len(os.Args) > 1 { |
| awgur@0 | 68 switch os.Args[1] { |
| awgur@0 | 69 case "uuid": |
| awgur@0 | 70 fmt.Println(get_uuid()) |
| awgur@0 | 71 case "ts": |
| awgur@0 | 72 fmt.Println(get_time_id(TIME_ID)) |
| awgur@0 | 73 case "hr": |
| awgur@0 | 74 fmt.Println(get_time_id(TIME_HUM)) |
| awgur@0 | 75 case "hrs": |
| awgur@0 | 76 fmt.Println(get_time_id(TIME_HUM_SAFE)) |
| awgur@0 | 77 case "hrs2": |
| awgur@0 | 78 fmt.Println(get_time_id(TIME_HUM_SAFE2)) |
| awgur@2 | 79 case "tss": |
| awgur@2 | 80 fmt.Println(get_time_id(TIME_ID_SHORT)) |
| awgur@2 | 81 case "tss2": |
| awgur@2 | 82 fmt.Println(get_time_id(TIME_ID_SHORT2)) |
| awgur@0 | 83 default: |
| awgur@2 | 84 fmt.Println("Need one of: uuid, ts, tss, tss2, hr, hrs, hrs2") |
| awgur@0 | 85 } |
| awgur@0 | 86 fmt.Println("") |
| awgur@0 | 87 } else { |
| awgur@0 | 88 make_all_ids() |
| awgur@0 | 89 } |
| awgur@0 | 90 } |