diff src/ut/main.go @ 17:72ce457fb99d

ut: bug fix.
author pyon@macmini
date Wed, 20 Jun 2018 06:01:58 +0900
parents 38b64afbaf79
children 45ca03520eea
line wrap: on
line diff
--- a/src/ut/main.go	Sun Jun 17 20:29:45 2018 +0900
+++ b/src/ut/main.go	Wed Jun 20 06:01:58 2018 +0900
@@ -8,10 +8,8 @@
 package main
 
 import (
-    "archive/tar"
     "bufio"
     "bytes"
-    "compress/gzip"
     "flag"
     "fmt"
     "io"
@@ -29,14 +27,13 @@
     "./lu"
 )
 
-var version = "1.01"
+var version = "1.02"
 
 func main() {
 
     var getfile  = flag.Bool( "g", false, "get a file from site." )                         // ok
     var putfile  = flag.Bool( "G", false, "put a file to site." )                           // ok
-    var compupld = flag.Bool( "zu", false, "compress & upload files. (.tgz)" )              // ok
-    var compress = flag.Bool( "z",  false, "compress files. ( not upload. )" )              // ok
+    var compress = flag.Bool( "z",  false, "compress files. (.tgz)" )                       // ok
     var uncmprss = flag.Bool( "x",  false, "uncompress files. (.tgz )" )                    // ok
     var noprefix = flag.Bool( "n", false, "not add prefix(YYYYMMDDhhmm_) to filename." )    // ok
 
@@ -57,6 +54,7 @@
     //var bhole   = flag.Bool( "k", false, "black hole. ( /dev/null )" )
     var cmdtime  = flag.Bool( "T", false, "measure program running time." )
     var touch    = flag.Bool( "t", false, "little touch tool." )
+    var tee      = flag.Bool( "e", false, "little tee tool." )
     var replace  = flag.Bool( "r", false, "replace strings. ( s/arg1/arg2/g )" )
     var sort     = flag.Bool( "s", false, "little sort tool." )
     var nsort    = flag.Bool( "ns", false, "little number sort tool." )
@@ -145,6 +143,11 @@
     }
         */
 
+    if *tee {
+        fmt.Fprintln( os.Stderr, "not implement" )
+        os.Exit( 3 )
+    }
+
     if *sort {
         fmt.Fprintln( os.Stderr, "not implement" )
         os.Exit( 3 )
@@ -258,6 +261,15 @@
         os.Exit( 2 )
     }
 
+    if *compress && !*putfile {  // done.
+        if err := is_exist_files( flag.Args() ); err != nil {
+            log.Fatal( err )
+        }
+        tgz := time.Now().Format( "200601021504.tgz" )
+        lu.Tgz( tgz, flag.Args() )
+        os.Exit( 0 )
+    }
+
     if *uncmprss {  // done.
         if err := is_exist_files( flag.Args() ); err != nil {
             log.Fatal( err )
@@ -268,7 +280,7 @@
 
     /* Here My Uplaad / Download Function */
     host := "http://777.nazo.cc"
-    // 引数が指定されたらアップロード
+
     if *putfile {
         if flag.NArg() > 0 {
 
@@ -293,28 +305,23 @@
             }
 
             // 圧縮
-            if *compress || *compupld {
+            if *compress {
                 tmpfile, err := ioutil.TempFile( ".", "muxx" )
                 if err != nil {
                     log.Fatal( err )
                 }
 
-                if err := archive_compress( tmpfile.Name(), flag.Args() ); err != nil {
-                    log.Fatal( err )
-                }
-
                 tgz := prefix + tmpfile.Name() + ".tgz"
                 os.Rename( tmpfile.Name(), tgz )
+                defer os.Remove( tgz )
+                lu.Tgz( tgz, flag.Args() )
                 fmt.Printf( "archive & compress ...done [%s].\n", tgz )
 
-                if *compupld {
-                    if err := post_file( url, tgz ); err != nil {
-                        log.Fatal( err )
-                    }
-                    fmt.Println( "upload ...done." )
-                    defer os.Remove( tgz )
+                if err := post_file( url, tgz ); err != nil {
+                    log.Fatal( err )
                 }
-                // 非圧縮
+                fmt.Println( "upload ...done." )
+            // 非圧縮
             } else {
                 for _, file := range flag.Args() {
                     if !*noprefix {
@@ -332,8 +339,8 @@
                     fmt.Println( file + "\tupload ...done." )
                 }
             }
-            os.Exit( 0 )
         }
+        os.Exit( 0 )
     }
 
     // ファイル一覧を取得
@@ -427,42 +434,6 @@
     return false
 }
 
-func archive_compress( zfile string, files []string ) ( error ) {
-    tgz, err := os.Create( zfile )
-    if err != nil {
-        return err
-    }
-    defer tgz.Close()
-
-    gw := gzip.NewWriter( tgz )
-    defer gw.Close()
-    tw := tar.NewWriter( gw )
-    defer tw.Close()
-
-    for _, file := range files {
-        f, err := os.Open( file )
-        if err != nil {
-            return err
-        }
-        defer f.Close()
-
-        stat, _ := f.Stat()
-        header := new( tar.Header )
-        header.Name = file
-        header.Size = stat.Size()
-        header.Mode = int64( stat.Mode() )
-        header.ModTime = stat.ModTime()
-
-        if err := tw.WriteHeader( header ); err != nil {
-            return err
-        }
-        if _, err := io.Copy( tw, f ); err != nil {
-            return err
-        }
-    }
-    return nil
-}
-
 func is_exist_files( files []string ) error {
     for _, file := range files {
         if _, err := os.Stat( file ); os.IsNotExist( err ) {
@@ -476,3 +447,4 @@
     fmt.Fprintf( os.Stderr, "Usage of %s [%s]:\n", os.Args[0], version )
     flag.PrintDefaults()
 }
+