Mercurial > mercurial > hgweb_golang.cgi
comparison src/entai_app/entai_app.go @ 1:3dafd57af3b1
bug-fix.
author | pyon@macmini |
---|---|
date | Thu, 06 Oct 2016 00:55:26 +0900 |
parents | de451fa0c9cd |
children | 451c99c1d9de |
comparison
equal
deleted
inserted
replaced
0:de451fa0c9cd | 1:3dafd57af3b1 |
---|---|
1 /****************************************************************************/ | 1 /****************************************************************************/ |
2 /* Entai_app.go ( ver 0.1 ) */ | 2 /* Entai_app.go ( ver 0.2 ) */ |
3 /* Last Change: 2016-09-30 Fri 22:09:50. */ | 3 /* Last Change: 2016-10-06 Thu 00:49:10. */ |
4 /****************************************************************************/ | 4 /****************************************************************************/ |
5 | 5 |
6 package main | 6 package main |
7 | 7 |
8 import ( | 8 import ( |
9 "bufio" | |
9 "flag" | 10 "flag" |
10 "fmt" | 11 "fmt" |
11 "os" | 12 "os" |
12 "strconv" | 13 "strconv" |
14 "strings" | |
13 "time" | 15 "time" |
14 | 16 |
15 "entai" | 17 "entai" |
16 ) | 18 ) |
17 | 19 |
21 | 23 |
22 // arguments | 24 // arguments |
23 h := flag.Bool( "h", false, "help" ) | 25 h := flag.Bool( "h", false, "help" ) |
24 r := flag.Bool( "r", false, "print rate" ) | 26 r := flag.Bool( "r", false, "print rate" ) |
25 l := flag.Bool( "l", false, "1-liner mode" ) | 27 l := flag.Bool( "l", false, "1-liner mode" ) |
28 b := flag.Bool( "b", false, "batch mode" ) | |
26 v := flag.Bool( "v", false, "print verbose in 1-liner mode") | 29 v := flag.Bool( "v", false, "print verbose in 1-liner mode") |
27 i := flag.Bool( "i", false, "print input in 1-liner mode") | 30 i := flag.Bool( "i", false, "print input value in 1-liner mode") |
31 d := flag.Bool( "d", false, "intaracitve mode") | |
28 s := flag.Bool( "s", false, "server mode" ) | 32 s := flag.Bool( "s", false, "server mode" ) |
29 p := flag.Int( "p", 80, "listen port in server mode" ) | 33 p := flag.Int( "p", 8080, "listen port in server mode" ) |
30 | 34 |
31 flag.Parse() | 35 flag.Parse() |
32 | 36 |
33 if flag.NFlag() == 0 { | 37 if flag.NFlag() == 0 { |
34 PrintTile() | 38 PrintTile() |
42 fmt.Fprint( os.Stderr, "1-liner mode:\n" ) | 46 fmt.Fprint( os.Stderr, "1-liner mode:\n" ) |
43 fmt.Fprint( os.Stderr, "> entai_app -l 20160731 20161224 30000\n\n" ) | 47 fmt.Fprint( os.Stderr, "> entai_app -l 20160731 20161224 30000\n\n" ) |
44 fmt.Fprint( os.Stderr, "> entai_app -i -l 20160731 20161224 30000\n\n" ) | 48 fmt.Fprint( os.Stderr, "> entai_app -i -l 20160731 20161224 30000\n\n" ) |
45 fmt.Fprint( os.Stderr, "> entai_app -i -v -l 20160731 20161224 30000\n\n" ) | 49 fmt.Fprint( os.Stderr, "> entai_app -i -v -l 20160731 20161224 30000\n\n" ) |
46 fmt.Fprint( os.Stderr, "server mode:\n" ) | 50 fmt.Fprint( os.Stderr, "server mode:\n" ) |
47 fmt.Fprint( os.Stderr, "> entai_app -s -p 8080\n" ) | 51 fmt.Fprint( os.Stderr, "> entai_app -s -p 3000\n" ) |
48 os.Exit( 0 ) | 52 os.Exit( 0 ) |
49 } | 53 } |
50 | 54 |
51 if *r { | 55 if *r { |
52 PrintTile() | 56 PrintTile() |
55 } | 59 } |
56 | 60 |
57 if *s { | 61 if *s { |
58 *p = 8080 | 62 *p = 8080 |
59 fmt.Fprint( os.Stderr, "server mode is not implemented.\n" ) | 63 fmt.Fprint( os.Stderr, "server mode is not implemented.\n" ) |
64 os.Exit( 0 ) | |
65 } | |
66 | |
67 if *d { | |
68 PrintTile() | |
69 //layout := "20060102" | |
70 //for { | |
71 //} | |
60 os.Exit( 0 ) | 72 os.Exit( 0 ) |
61 } | 73 } |
62 | 74 |
63 if *l { | 75 if *l { |
64 layout := "20060102" | 76 layout := "20060102" |
77 fmt.Fprint( os.Stderr, "bad money format.\n" ) | 89 fmt.Fprint( os.Stderr, "bad money format.\n" ) |
78 os.Exit( 1 ) | 90 os.Exit( 1 ) |
79 } | 91 } |
80 | 92 |
81 if *i { | 93 if *i { |
82 fmt.Printf( "%v,%v,%d,", d.Format( layout ), p.Format( layout ), g ) | 94 fmt.Printf( "%v,%v,%d,", d.Format( layout ), p.Format( layout ), t ) |
83 } | 95 } |
84 | 96 |
85 // MAIN | 97 // MAIN |
86 entai.Set( d, p, t ) | 98 entai.Set( d, p, t ) |
87 result, detail := entai.Result() | 99 result, detail := entai.Result() |
91 | 103 |
92 if *v { | 104 if *v { |
93 fmt.Print( ",", detail ) | 105 fmt.Print( ",", detail ) |
94 } | 106 } |
95 fmt.Print( "\n" ) | 107 fmt.Print( "\n" ) |
108 os.Exit( 0 ) | |
109 } | |
110 | |
111 if *b { | |
112 files := flag.Args() | |
113 if len( files ) == 0 { | |
114 fmt.Fprint( os.Stderr, "no input file.\n" ) | |
115 os.Exit( 1 ) | |
116 } else { | |
117 for _, file := range files { | |
118 f, err := os.Open( file ); if err != nil { | |
119 fmt.Fprintf( os.Stderr, "cannot open file.[%v]\n", err ) | |
120 os.Exit( 1 ) | |
121 } | |
122 input := bufio.NewScanner( f ) | |
123 b := bufio.NewWriter( os.Stdout ) | |
124 for input.Scan() { | |
125 s := strings.Split( input.Text(), "," ) | |
126 fmt.Fprint( b, s[0] ) | |
127 } | |
128 b.Flush() | |
129 f.Close() | |
130 } | |
131 os.Exit( 0 ) | |
132 } | |
96 } | 133 } |
97 } | 134 } |
98 | 135 |
99 func PrintTile() { | 136 func PrintTile() { |
100 fmt.Fprint( os.Stderr, "\n==================================================\n" ) | 137 fmt.Fprint( os.Stderr, "\n==================================================\n" ) |
101 fmt.Fprint( os.Stderr, " Entai_app ver 0.1 ( 2016.09.29 ) - since 2016\n" ) | 138 fmt.Fprint( os.Stderr, " Entai_app ver 0.2 ( 2016.10.09 ) - since 2016\n" ) |
102 fmt.Fprint( os.Stderr, "==================================================\n\n" ) | 139 fmt.Fprint( os.Stderr, "==================================================\n\n" ) |
103 } | 140 } |
104 | 141 |