Mercurial > mercurial > hgweb_rsearcher.cgi
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 + "]" ) |
