aboutsummaryrefslogtreecommitdiff
path: root/steam-export-cli.go
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2017-01-16 13:09:13 -0500
committerMitch Riedstra <mitch@riedstra.us>2017-01-16 13:09:13 -0500
commit5a8919689e91527ed89e9a8d8a061f117dfd250b (patch)
tree895ce38ef6232675523a61500a6769fba4efd890 /steam-export-cli.go
parent4f9e8e54fd6796e3080dc07381b2e8d17fd35b5f (diff)
downloadsteam-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.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() {