package main import ( "fmt" "io/fs" "os" "github.com/Snider/Borg/pkg/compress" "github.com/Snider/Borg/pkg/datanode" ) func main() { if len(os.Args) != 2 { fmt.Println("Usage: go run inspect_datanode.go ") os.Exit(1) } datFile := os.Args[1] rawData, err := os.ReadFile(datFile) if err != nil { fmt.Printf("Error reading .dat file: %v\n", err) os.Exit(1) } data, err := compress.Decompress(rawData) if err != nil { fmt.Printf("Error decompressing data: %v\n", err) os.Exit(1) } dn, err := datanode.FromTar(data) if err != nil { fmt.Printf("Error creating DataNode from tarball: %v\n", err) os.Exit(1) } fmt.Printf("Contents of %s:\n", datFile) err = dn.Walk(".", func(path string, d fs.DirEntry, err error) error { if err != nil { return err } fmt.Println(path) return nil }) if err != nil { fmt.Printf("Error walking DataNode: %v\n", err) os.Exit(1) } }