From 5a8919689e91527ed89e9a8d8a061f117dfd250b Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Mon, 16 Jan 2017 13:09:13 -0500 Subject: Add ability to delete games. Remove old "main.go" --- steam-export-cli.go | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'steam-export-cli.go') diff --git a/steam-export-cli.go b/steam-export-cli.go index 80d8a43..35ba453 100644 --- a/steam-export-cli.go +++ b/steam-export-cli.go @@ -28,6 +28,8 @@ func parseArgs(args []string) error { return packageGame(aa) case "extract": return extractGame(aa) + case "delete": + return deleteGame(aa) default: printHelp() } @@ -98,11 +100,6 @@ func packageGame(args []string) error { return steamLib.PackageGameToFile(g, *fileName+".tar") - /* - fmt.Printf("SteamLib dir: %q, Archive Name: %q, SteamLib game: %q", - steamLib.Folder, *fileName+".tar", steamLib.Games[g]) - return nil - */ } func extractGame(args []string) error { @@ -128,12 +125,32 @@ func extractGame(args []string) error { return steamLib.ExtractGameFromFile(*fileName) - /* - fmt.Printf("SteamLib dir: %q, Archive Name: %q\n", - steamLib.Folder, *fileName) - return nil - */ +} + +func deleteGame(args []string) error { + fl := flag.NewFlagSet("delete", errorHandling) + lib := fl.String("l", defaultLib, + "Path to library in question. All the way to the 'steamapps' folder") + game := fl.Int("g", -1, + "Index of the game to be deleted. Please see `list` for the index") + + var g int + l := defaultLib + fl.Parse(args) + if fl.Parsed() { + l = string(*lib) + g = int(*game) + } + + if err := steamLib.ProcessLibrary(l); err != nil { + return err + } + + if len(steamLib.Games) < g || g == -1 { + return errors.New("Cannot find game for index provided or no index provided") + } + return steamLib.DeleteGame(g) } func main() { -- cgit v1.2.3