]> Sergey Matveev's repositories - btrtrc.git/blobdiff - cmd/torrent2/main.go
Misc improvements
[btrtrc.git] / cmd / torrent2 / main.go
index 0d57f0133bbd7149f52d08c9e802692c92e609a6..6017464ff2ba95e4a38f83426a3981884269e985 100644 (file)
@@ -4,6 +4,7 @@
 package main
 
 import (
+       "fmt"
        "os"
 
        "github.com/anacrolix/torrent/metainfo"
@@ -39,6 +40,26 @@ func main() {
                                        err = metainfo.ValidatePieceLayers(mi.PieceLayers, &info.FileTree, info.PieceLength)
                                        assertOk(err)
                                },
+                               "pprint": func() {
+                                       mi, err := metainfo.LoadFromFile(args[2])
+                                       assertOk(err)
+                                       info, err := mi.UnmarshalInfo()
+                                       assertOk(err)
+                                       files := info.UpvertedFiles()
+                                       pieceIndex := 0
+                                       for _, f := range files {
+                                               numPieces := int((f.Length + info.PieceLength - 1) / info.PieceLength)
+                                               endIndex := pieceIndex + numPieces
+                                               fmt.Printf(
+                                                       "%x: %q: pieces (%v-%v)\n",
+                                                       f.PiecesRoot.Unwrap(),
+                                                       f.BestPath(),
+                                                       pieceIndex,
+                                                       endIndex-1,
+                                               )
+                                               pieceIndex = endIndex
+                                       }
+                               },
                        }[args[1]]()
                },
        }[args[0]]()