comparison go/client.go @ 1:eaa27e4ed5be

add client_ui.go
author pyon@macmini
date Mon, 01 Oct 2018 23:18:29 +0900
parents d3b8cd5aeb70
children db4813125eb8
comparison
equal deleted inserted replaced
0:d3b8cd5aeb70 1:eaa27e4ed5be
1 /* 1 /*
2 client.go : client-program. 2 client.go : client-program.
3 Version : 0.0 3 Version : 1.0
4 Last Change: 2018-09-30 Sun 17:09:04. 4 Last Change: 2018-10-01 Mon 21:45:18.
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
46 if *upgrade { 46 if *upgrade {
47 if flag.NArg() != 1 { 47 if flag.NArg() != 1 {
48 fmt.Fprintf( os.Stderr, "no remote host.\n" ) 48 fmt.Fprintf( os.Stderr, "no remote host.\n" )
49 os.Exit( 1 ) 49 os.Exit( 1 )
50 } 50 }
51 fmt.Println( "Getting grsearcher.exe..." ) 51 fmt.Print( "Getting grsearcher.exe..." )
52 host := flag.Args()[0] 52 host := flag.Args()[0]
53 if _, err := get_file( host, "/release/grsearcher.exe", "grsearcher.exe" ); err != nil { 53 if _, err := get_file( host, "/release/grsearcher.exe", "grsearcher.exe" ); err != nil {
54 log.Fatal( err ) 54 log.Fatal( err )
55 } 55 }
56 fmt.Println( "Getting client.exe..." ) 56 fmt.Print( "Getting client.exe..." )
57 if _, err := get_file( host, "/release/client.exe", "client1.exe" ); err != nil { 57 if _, err := get_file( host, "/release/client.exe", "client1.exe" ); err != nil {
58 log.Fatal( err ) 58 log.Fatal( err )
59 } 59 }
60 os.Exit( 0 ) 60 os.Exit( 0 )
61 } 61 }
63 if *update { 63 if *update {
64 if flag.NArg() != 1 { 64 if flag.NArg() != 1 {
65 fmt.Fprintf( os.Stderr, "no remote host.\n" ) 65 fmt.Fprintf( os.Stderr, "no remote host.\n" )
66 os.Exit( 1 ) 66 os.Exit( 1 )
67 } 67 }
68 fmt.Println( "Getting auth.db..." ) 68 fmt.Print( "Getting auth.db..." )
69 host := flag.Args()[0] 69 host := flag.Args()[0]
70 if _, err := get_file( host, "/db/auth.db", "auth.db" ); err != nil { 70 if _, err := get_file( host, "/db/auth.db", "auth.db" ); err != nil {
71 log.Fatal( err ) 71 log.Fatal( err )
72 } 72 }
73 fmt.Println( "Getting hhs.db..." ) 73 fmt.Print( "Getting hhs.db..." )
74 if _, err := get_file( host, "/db/hhs.db", "hhs.db" ); err != nil { 74 if _, err := get_file( host, "/db/hhs.db", "hhs.db" ); err != nil {
75 log.Fatal( err ) 75 log.Fatal( err )
76 } 76 }
77 77
78 if time.Now().Day() % 10 == 0 { 78 if time.Now().Day() % 10 == 0 {
79 fmt.Println( "Getting index.db..." ) 79 fmt.Print( "Getting index.db..." )
80 if _, err := get_file( host, "/db/index.db", "index.db" ); err != nil { 80 if _, err := get_file( host, "/db/index.db", "index.db" ); err != nil {
81 log.Fatal( err ) 81 log.Fatal( err )
82 } 82 }
83 } 83 }
84 os.Exit( 0 ) 84 os.Exit( 0 )
119 func get_file( host, rfile, lfile string ) ( []byte, error ) { 119 func get_file( host, rfile, lfile string ) ( []byte, error ) {
120 res, err := http.Get( "http://" + host + "/" + rfile ) 120 res, err := http.Get( "http://" + host + "/" + rfile )
121 if err != nil { 121 if err != nil {
122 return nil, err 122 return nil, err
123 } 123 }
124 fmt.Println( "\t[" + res.Status + "]" )
125 if res.StatusCode == http.StatusNotFound {
126 return nil, nil
127 }
124 b, err := ioutil.ReadAll( res.Body ) 128 b, err := ioutil.ReadAll( res.Body )
125 res.Body.Close() 129 res.Body.Close()
126 if err != nil { 130 if err != nil {
127 return nil, err 131 return nil, err
128 } 132 }
153 if err != nil { 157 if err != nil {
154 return err 158 return err
155 } 159 }
156 //f, _ := os.Create( hdr.Name ) 160 //f, _ := os.Create( hdr.Name )
157 fn := fmt.Sprintf( "%s_%d.jpg", d, i ) 161 fn := fmt.Sprintf( "%s_%d.jpg", d, i )
158 fn = fmt.Sprintf( "00000000_%d.jpg", i ) // for test 162 fn = fmt.Sprintf( "00000000_%d", i ) // for test
159 163
160 fn = filepath.Join( ".cache", fn ) 164 fn = filepath.Join( ".cache", fn )
161 f, _ := os.Create( fn ) 165 f, _ := os.Create( fn )
162 if _, err := io.Copy( f, tr ); err != nil { 166 if _, err := io.Copy( f, tr ); err != nil {
163 return err 167 return err