]> Sergey Matveev's repositories - btrtrc.git/commitdiff
cmd/torrent-create: Tidy up flags and remove redundant function calls
authorMatt Joiner <anacrolix@gmail.com>
Tue, 3 May 2016 06:49:30 +0000 (16:49 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 3 May 2016 06:49:30 +0000 (16:49 +1000)
Issue #80

cmd/torrent-create/main.go

index 9174c85798d4a02c9b11ecb35c97bad3b7ff17dc..b352de9bd0f0e0cb4d8feacb5bb2086317d67c34 100644 (file)
@@ -1,13 +1,10 @@
 package main
 
 import (
-       "io"
        "log"
        "os"
-       "path/filepath"
-       "strings"
 
-       "github.com/docopt/docopt-go"
+       "github.com/anacrolix/tagflag"
 
        "github.com/anacrolix/torrent/metainfo"
 )
@@ -21,25 +18,20 @@ var (
 )
 
 func main() {
-       opts, err := docopt.Parse("Usage: torrent-create <root>", nil, true, "", true)
-       if err != nil {
-               panic(err)
+       log.SetFlags(log.Flags() | log.Lshortfile)
+       var args struct {
+               tagflag.StartPos
+               Root string
        }
-       root := opts["<root>"].(string)
+       tagflag.Parse(&args, tagflag.Description("Creates a torrent metainfo for the file system rooted at ROOT, and outputs it to stdout."))
        mi := metainfo.MetaInfo{
                AnnounceList: builtinAnnounceList,
        }
        mi.SetDefaults()
-       err = mi.Info.BuildFromFilePath(root)
+       err := mi.Info.BuildFromFilePath(args.Root)
        if err != nil {
                log.Fatal(err)
        }
-       err = mi.Info.GeneratePieces(func(fi metainfo.FileInfo) (io.ReadCloser, error) {
-               return os.Open(filepath.Join(root, strings.Join(fi.Path, string(filepath.Separator))))
-       })
-       if err != nil {
-               log.Fatalf("error generating pieces: %s", err)
-       }
        err = mi.Write(os.Stdout)
        if err != nil {
                log.Fatal(err)