diff options
| author | Mitch Riedstra <mitch@riedstra.us> | 2017-01-16 13:09:13 -0500 |
|---|---|---|
| committer | Mitch Riedstra <mitch@riedstra.us> | 2017-01-16 13:09:13 -0500 |
| commit | 5a8919689e91527ed89e9a8d8a061f117dfd250b (patch) | |
| tree | 895ce38ef6232675523a61500a6769fba4efd890 /steam-export-cli.go | |
| parent | 4f9e8e54fd6796e3080dc07381b2e8d17fd35b5f (diff) | |
| download | steam-export-5a8919689e91527ed89e9a8d8a061f117dfd250b.tar.gz steam-export-5a8919689e91527ed89e9a8d8a061f117dfd250b.tar.xz | |
Add ability to delete games. Remove old "main.go"
Diffstat (limited to 'steam-export-cli.go')
| -rw-r--r-- | steam-export-cli.go | 37 |
1 files changed, 27 insertions, 10 deletions
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() { |
