aboutsummaryrefslogtreecommitdiff
path: root/steam-export-cli.go
diff options
context:
space:
mode:
Diffstat (limited to 'steam-export-cli.go')
-rw-r--r--steam-export-cli.go37
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() {