comparison go/client.go @ 14:c1dc1fcee7fe

print zoom.
author pyon@macmini
date Sun, 09 Dec 2018 14:38:15 +0900
parents f5ffc34f045a
children
comparison
equal deleted inserted replaced
13:f5ffc34f045a 14:c1dc1fcee7fe
1 /* 1 /*
2 client.go : client-program. 2 client.go : client-program.
3 Version : 1.3a 3 Version : 1.4
4 Last Change: 2018-11-14 水 16:58:29. 4 Last Change: 2018-12-05 水 08:29:02.
5 5
6 install to: rsearcher_root/ 6 install to: rsearcher_root/
7 7
8 rsearcher_root/client.exe 8 rsearcher_root/client.exe
9 + grsearcher.exe 9 + grsearcher.exe
32 "fmt" 32 "fmt"
33 "io" 33 "io"
34 "io/ioutil" 34 "io/ioutil"
35 "log" 35 "log"
36 "net/http" 36 "net/http"
37 "net/url"
37 "os" 38 "os"
38 "path/filepath" 39 "path/filepath"
39 "regexp" 40 "regexp"
40 "time" 41 "time"
41 ) 42 )
42 43
43 var version string 44 var version string
44 45
45 func init() { 46 func init() {
46 version = "1.3a" // manual.pdf version 47 version = "1.4" // image query version
47 } 48 }
48 49
49 func main() { 50 func main() {
50 var upgrade = flag.Bool( "r", false, "get new release" ) // get grsearcher.exe, crypto.exe client.exe manual.pdf 51 var upgrade = flag.Bool( "r", false, "get new release" ) // get grsearcher.exe, crypto.exe client.exe manual.pdf
51 var update = flag.Bool( "u", false, "get new DBs" ) // get auth.db, hhs.db, index.db(14,28) 52 var update = flag.Bool( "u", false, "get new DBs" ) // get auth.db, hhs.db, index.db(14,28)
109 os.Exit( 1 ) 110 os.Exit( 1 )
110 } 111 }
111 host := flag.Args()[0] 112 host := flag.Args()[0]
112 113
113 fmt.Print( "Getting client.exe..." ) 114 fmt.Print( "Getting client.exe..." )
114 if _, err := get_file( host, "/release/client.exe", "client1.exe" ); err != nil { 115 if _, err := get_file( host, "/release/client.exe", "", "client1.exe" ); err != nil {
115 log.Fatal( err ) 116 log.Fatal( err )
116 } 117 }
117 fmt.Print( "Getting crypto.exe..." ) 118 fmt.Print( "Getting crypto.exe..." )
118 if _, err := get_file( host, "/release/crypto.exe", "crypto.exe" ); err != nil { 119 if _, err := get_file( host, "/release/crypto.exe", "", "crypto.exe" ); err != nil {
119 log.Fatal( err ) 120 log.Fatal( err )
120 } 121 }
121 fmt.Print( "Getting grsearcher.exe..." ) 122 fmt.Print( "Getting grsearcher.exe..." )
122 if _, err := get_file( host, "/release/grsearcher.exe", "grsearcher.exe" ); err != nil { 123 if _, err := get_file( host, "/release/grsearcher.exe", "", "grsearcher.exe" ); err != nil {
123 log.Fatal( err ) 124 log.Fatal( err )
124 } 125 }
125 fmt.Print( "Getting manual.pdf..." ) 126 fmt.Print( "Getting manual.pdf..." )
126 if _, err := get_file( host, "/release/manual.pdf", "manual.pdf" ); err != nil { 127 if _, err := get_file( host, "/release/manual.pdf", "", "manual.pdf" ); err != nil {
127 log.Fatal( err ) 128 log.Fatal( err )
128 } 129 }
129 130
130 if *cnttime { 131 if *cnttime {
131 fmt.Println( "---", time.Now().Sub( st ) ) 132 fmt.Println( "---", time.Now().Sub( st ) )
139 fmt.Fprint( os.Stderr, "bad remote host.\n" ) 140 fmt.Fprint( os.Stderr, "bad remote host.\n" )
140 os.Exit( 1 ) 141 os.Exit( 1 )
141 } 142 }
142 fmt.Print( "Getting auth.db..." ) 143 fmt.Print( "Getting auth.db..." )
143 host := flag.Args()[0] 144 host := flag.Args()[0]
144 if _, err := get_file( host, "/db/auth.db", "auth.db" ); err != nil { 145 if _, err := get_file( host, "/db/auth.db", "", "auth.db" ); err != nil {
145 log.Fatal( err ) 146 log.Fatal( err )
146 } 147 }
147 fmt.Print( "Getting hhs.db..." ) 148 fmt.Print( "Getting hhs.db..." )
148 if _, err := get_file( host, "/db/hhs.db", "hhs.db" ); err != nil { 149 if _, err := get_file( host, "/db/hhs.db", "", "hhs.db" ); err != nil {
149 log.Fatal( err ) 150 log.Fatal( err )
150 } 151 }
151 152
152 if time.Now().Day() % 14 == 0 { 153 if time.Now().Day() % 14 == 0 {
153 fmt.Print( "Getting index.db..." ) 154 fmt.Print( "Getting index.db..." )
154 if _, err := get_file( host, "/db/index.db", "index.db" ); err != nil { 155 if _, err := get_file( host, "/db/index.db", "", "index.db" ); err != nil {
155 log.Fatal( err ) 156 log.Fatal( err )
156 } 157 }
157 } 158 }
158 159
159 if *cnttime { 160 if *cnttime {
180 if len( m ) == 0 { 181 if len( m ) == 0 {
181 fmt.Fprint( os.Stderr, "bad hno.\n" ) 182 fmt.Fprint( os.Stderr, "bad hno.\n" )
182 os.Exit( 1 ) 183 os.Exit( 1 )
183 } 184 }
184 185
186 v := url.Values{}
187 v.Set( "q", "12345" )
188 q := ""
189
185 rfile := "/images/" + d + "/" + h + ".tgz" 190 rfile := "/images/" + d + "/" + h + ".tgz"
186 fmt.Print( "Getting", rfile ) 191 fmt.Print( "Getting ", rfile )
187 b, err := get_file( host, rfile, "" ) 192 b, err := get_file( host, rfile, q, "" )
188 if err != nil { 193 if err != nil {
189 log.Fatal( err ) 194 log.Fatal( err )
190 } 195 }
191 if err := untgz_images( d, b ); err != nil { 196 if err := untgz_images( d, b ); err != nil {
192 log.Fatal( err ) 197 log.Fatal( err )
213 defer res.Body.Close() 218 defer res.Body.Close()
214 return ioutil.ReadAll( res.Body ) 219 return ioutil.ReadAll( res.Body )
215 } 220 }
216 221
217 // HTTP GET 222 // HTTP GET
218 func get_file( host, rfile, lfile string ) ( []byte, error ) { 223 func get_file( host, rfile, query, lfile string ) ( []byte, error ) {
219 res, err := http.Get( "http://" + host + "/" + rfile ) 224 res, err := http.Get( "http://" + host + "/" + rfile )
220 if err != nil { 225 if err != nil {
221 return nil, err 226 return nil, err
222 } 227 }
223 fmt.Println( "\t[" + res.Status + "]" ) 228 fmt.Println( "\t[" + res.Status + "]" )