aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/cli/main.go58
-rw-r--r--cmd/web/handlers.go38
-rw-r--r--cmd/web/main.go9
3 files changed, 56 insertions, 49 deletions
diff --git a/cmd/cli/main.go b/cmd/cli/main.go
index 8bb9a24..4613f89 100644
--- a/cmd/cli/main.go
+++ b/cmd/cli/main.go
@@ -9,7 +9,7 @@ import (
"riedstra.dev/mitch/steam-export/steam"
)
-var Version = "Development"
+var Version = "Development"
func parseArgs(args []string) error {
if len(args) < 2 {
@@ -55,12 +55,12 @@ func listGames(args []string) error {
fl.Parse(args)
- steamLib := &steam.Library{}
- if err := steamLib.ProcessLibrary(*lib); err != nil {
+ l, err := steam.NewLibrary(*lib)
+ if err != nil {
return err
}
- fmt.Println(steamLib)
+ fmt.Println(l)
return nil
}
@@ -78,23 +78,18 @@ func packageGame(args []string) error {
return errors.New("You need to specify a file name")
}
- lib := &steam.Library{}
- if err := lib.ProcessLibrary(*libPth); err != nil {
+ lib, err := steam.NewLibrary(*libPth)
+ if err != nil {
return err
}
- G, ok := lib.Games[*game]
- if !ok {
- return errors.New("Game does not exist")
- }
-
f, err := os.OpenFile(*fileName, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0664)
if err != nil {
return err
}
defer f.Close()
- err = G.Package(f)
+ err = lib.Package(*game, f)
if err != nil {
return err
}
@@ -111,18 +106,30 @@ func extractGame(args []string) error {
fl.Parse(args)
- lib := &steam.Library{}
-
- if err := lib.ProcessLibrary(*libPath); err != nil {
- return err
- }
-
- fh, err := os.Open(*fileName)
+ lib, err := steam.NewLibrary(*libPath)
if err != nil {
return err
}
- return lib.Extract(fh)
+ /*
+ fh, err := os.Open(*fileName)
+ if err != nil {
+ return err
+ }
+
+ g, err := lib.Extract(fh)
+ if err != nil {
+ return err
+ }
+
+ err = fh.Close()
+ */
+
+ g, err := lib.ExtractFile(*fileName)
+
+ fmt.Println("Extracted: ", g)
+
+ return err
}
func deleteGame(args []string) error {
@@ -133,18 +140,13 @@ func deleteGame(args []string) error {
fl.Parse(args)
- lib := &steam.Library{}
+ lib, err := steam.NewLibrary(*libPath)
- if err := lib.ProcessLibrary(*libPath); err != nil {
+ if err != nil {
return err
}
- G, ok := lib.Games[*game]
- if !ok {
- return errors.New("Game does not exist")
- }
-
- return G.Delete()
+ return lib.Delete(*game)
}
func main() {
diff --git a/cmd/web/handlers.go b/cmd/web/handlers.go
index fca7471..763c980 100644
--- a/cmd/web/handlers.go
+++ b/cmd/web/handlers.go
@@ -5,9 +5,9 @@ import (
"fmt"
"html/template"
"net/http"
- "net/url"
+ // "net/url"
"os"
- "strings"
+ // "strings"
"time"
"github.com/gorilla/mux"
@@ -50,24 +50,26 @@ func (a *App) HandleInstall(w http.ResponseWriter, r *http.Request) {
uri := r.Form.Get("uri")
- // Sanity checking on our end before we pass it off
- if strings.HasPrefix(uri, "http") {
- _, err := url.Parse(uri)
- if err != nil {
- Logger.Printf("Installer: While parsing url: %s", err)
- http.Error(w, fmt.Sprintf("Invalid url: %s", err), 400)
- return
- }
- } else {
- fi, err := os.Stat(uri)
- if err != nil || !fi.Mode().IsRegular() {
- Logger.Printf("Installer: While parsing url/path: %s", err)
- http.Error(w, fmt.Sprintf("Invalid uri/path: %s", err), 400)
- return
+ /*
+ // Sanity checking on our end before we pass it off
+ if strings.HasPrefix(uri, "http") {
+ _, err := url.Parse(uri)
+ if err != nil {
+ Logger.Printf("Installer: While parsing url: %s", err)
+ http.Error(w, fmt.Sprintf("Invalid url: %s", err), 400)
+ return
+ }
+ } else {
+ fi, err := os.Stat(uri)
+ if err != nil || !fi.Mode().IsRegular() {
+ Logger.Printf("Installer: While parsing url/path: %s", err)
+ http.Error(w, fmt.Sprintf("Invalid uri/path: %s", err), 400)
+ return
+ }
}
- }
+ */
- Logger.Printf("Installer: Sending request for: %s to channel", uri)
+ Logger.Printf("Installer: Sending request for: %s to downloader", uri)
go func() {
g, err := a.Library.ExtractSmart(uri)
diff --git a/cmd/web/main.go b/cmd/web/main.go
index 20c3506..fdefa1b 100644
--- a/cmd/web/main.go
+++ b/cmd/web/main.go
@@ -30,7 +30,7 @@ var (
func main() {
fl := flag.NewFlagSet("steam-export", flag.ExitOnError)
debug := fl.Bool("d", false, "Print line numbers in log")
- fl.StringVar(&Listen, "l", Listen, "What address do we listen on?")
+ fl.StringVar(&Listen, "l", Listen, "What address/port do we listen on?")
fl.StringVar(&DefaultLib, "L", DefaultLib, "Full path to default library")
fl.StringVar(&isLocalCIDR, "t", isLocalCIDR,
"Trusted CIDRs for additional controls, seperated by commas")
@@ -40,6 +40,7 @@ func main() {
localFS := fl.String("fs", "",
"If not empty the local path to use instead of the "+
"embedded templates and /static directory.")
+ noStartBrowser := fl.Bool("nobrowser", false, "If supplied, do not start the browser")
fl.Parse(os.Args[1:])
if *debug {
@@ -80,8 +81,10 @@ func main() {
continue
}
- // Not using 'localhost' due to the way windows listens by default
- startBrowser("http://127.0.0.1" + Listen)
+ if !*noStartBrowser {
+ // Not using 'localhost' due to the way windows listens by default
+ startBrowser("http://127.0.0.1" + Listen)
+ }
err = s.Serve(l)
if err != nil {