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 )