From c202f2eca32e1ab2e313417168351df1c58ee062 Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Wed, 4 Aug 2021 23:53:36 -0400 Subject: More major changes. Web UI works. Downloading games works. Status works. extractFile needs work --- steam/delete.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 steam/delete.go (limited to 'steam/delete.go') diff --git a/steam/delete.go b/steam/delete.go new file mode 100644 index 0000000..486b047 --- /dev/null +++ b/steam/delete.go @@ -0,0 +1,41 @@ +package steam + +import ( + "os" + "path/filepath" +) + +// Delete removes all of the game files and the ACF +func (l *Library) Delete(game string) error { + g, ok := l.games[game] + if !ok { + return E_GameDoesNotExist + } + + j := newJob("delete", g) + defer j.done() + + l.status.addJob(j) + + acf, err := FindACF(l.folder, game) + if err != nil { + j.addError(err) + return err + } + if err := os.Remove(acf); err != nil { + j.addError(err) + return err + } + + err = os.RemoveAll(filepath.Join(l.folder, "common", g.Name)) + if err != nil { + j.addError(err) + return err + } + + l.m.Lock() + delete(l.games, game) + l.m.Unlock() + + return nil +} -- cgit v1.2.3