Mercurial > mercurial > hgweb_rsearcher.cgi
diff go/client.go @ 4:06342fc544e4
mouse gesture.
author | pyon@macmini |
---|---|
date | Mon, 15 Oct 2018 20:07:38 +0900 |
parents | db4813125eb8 |
children | 29829e98d510 |
line wrap: on
line diff
--- a/go/client.go Thu Oct 11 22:11:09 2018 +0900 +++ b/go/client.go Mon Oct 15 20:07:38 2018 +0900 @@ -1,7 +1,7 @@ /* client.go : client-program. - Version : 1.0a - Last Change: 2018-10-03 水 13:44:11. + Version : 1.1 + Last Change: 2018-10-12 金 13:42:55. install to: rsearcher_root/ @@ -14,7 +14,7 @@ + index.db ( 10 days ) + image/*.png, *.jpg + doc/ - + .cache/*.jpg ( temporary ) + + .cache/* ( temporary ) $ client.exe -r 192.168.0.1:3910 # get new release $ client.exe -u 192.168.0.1:3910 # get new dbs @@ -38,14 +38,55 @@ "time" ) +var version string + +func init() { + version = "1.1" +} + func main() { var upgrade = flag.Bool( "r", false, "" ) // get grsearcher.exe, client.exe - var update = flag.Bool( "u", false, "" ) // get auth.db, hhs.db, index.db(5day) + var update = flag.Bool( "u", false, "" ) // get auth.db, hhs.db, index.db(14,28) + var upload = flag.Bool( "a", false, "" ) // post somefile + var printver = flag.Bool( "v", false, "" ) // print version flag.Parse() + // print version + if *printver { + fmt.Println( "client ( version ", version, ")" ) + os.Exit( 0 ) + } + + // upload + if *upload { + if flag.NArg() != 2 { + fmt.Fprintf( os.Stderr, "bad host or file.\n" ) + os.Exit( 1 ) + } + host := flag.Args()[0] + file := flag.Args()[1] + fmt.Printf( "Sending %s...", file ) + f, err := os.Open( file ) + if err != nil { + log.Fatal( err ) + } + defer f.Close() + + res, err := http.Post( "http://" + host + "/upload", "binary/octet-stream", f ) + if err != nil { + log.Fatal( err ) + } + defer res.Body.Close() + message, _ := ioutil.ReadAll( res.Body ) + fmt.Println( string( message ) ) + + os.Exit( 0 ) + } + + // software upgrade if *upgrade { if flag.NArg() != 1 { - fmt.Fprintf( os.Stderr, "no remote host.\n" ) + fmt.Fprintf( os.Stderr, "bad remote host.\n" ) os.Exit( 1 ) } fmt.Print( "Getting grsearcher.exe..." ) @@ -53,6 +94,10 @@ if _, err := get_file( host, "/release/grsearcher.exe", "grsearcher.exe" ); err != nil { log.Fatal( err ) } + fmt.Print( "Getting crypto.exe..." ) + if _, err := get_file( host, "/release/crypto.exe", "crypto.exe" ); err != nil { + log.Fatal( err ) + } fmt.Print( "Getting client.exe..." ) if _, err := get_file( host, "/release/client.exe", "client1.exe" ); err != nil { log.Fatal( err ) @@ -60,9 +105,10 @@ os.Exit( 0 ) } + // database update if *update { if flag.NArg() != 1 { - fmt.Fprintf( os.Stderr, "no remote host.\n" ) + fmt.Fprintf( os.Stderr, "bad remote host.\n" ) os.Exit( 1 ) } fmt.Print( "Getting auth.db..." ) @@ -75,7 +121,7 @@ log.Fatal( err ) } - if time.Now().Day() % 10 == 0 { + if time.Now().Day() % 14 == 0 { fmt.Print( "Getting index.db..." ) if _, err := get_file( host, "/db/index.db", "index.db" ); err != nil { log.Fatal( err ) @@ -84,7 +130,7 @@ os.Exit( 0 ) } - // main + // main : image download if flag.NArg() != 3 { fmt.Fprintf( os.Stderr, "bad argument.\n" ) os.Exit( 1 ) @@ -159,7 +205,6 @@ } //f, _ := os.Create( hdr.Name ) fn := fmt.Sprintf( "%s_%d", d, i ) // 1.0a - //fn = fmt.Sprintf( "00000000_%d", i ) // for test fn = filepath.Join( ".cache", fn ) f, _ := os.Create( fn )