parent
bc26e6e787
commit
8153b81cba
|
@ -11,18 +11,22 @@ import (
|
||||||
|
|
||||||
"github.com/fmartingr/games-screenshot-mananger/pkg/games"
|
"github.com/fmartingr/games-screenshot-mananger/pkg/games"
|
||||||
"github.com/fmartingr/games-screenshot-mananger/pkg/helpers"
|
"github.com/fmartingr/games-screenshot-mananger/pkg/helpers"
|
||||||
|
"github.com/fmartingr/games-screenshot-mananger/pkg/providers/minecraft"
|
||||||
"github.com/fmartingr/games-screenshot-mananger/pkg/providers/steam"
|
"github.com/fmartingr/games-screenshot-mananger/pkg/providers/steam"
|
||||||
)
|
)
|
||||||
|
|
||||||
var allowedProviders = [...]string{"steam"}
|
var allowedProviders = [...]string{"steam", "minecraft"}
|
||||||
|
|
||||||
const defaultOutputPath string = "./Output"
|
const defaultOutputPath string = "./Output"
|
||||||
|
|
||||||
|
// const defaultInputPath string = "./Input"
|
||||||
const defaultProvider string = "steam"
|
const defaultProvider string = "steam"
|
||||||
const defaultDryRun bool = false
|
const defaultDryRun bool = false
|
||||||
|
|
||||||
func Start() {
|
func Start() {
|
||||||
var provider = flag.String("provider", defaultProvider, "steam")
|
var provider = flag.String("provider", defaultProvider, "steam")
|
||||||
var outputPath = flag.String("output-path", defaultOutputPath, "The destination path of the screenshots")
|
var outputPath = flag.String("output-path", defaultOutputPath, "The destination path of the screenshots")
|
||||||
|
// var inputPath = flag.String("input-path", defaultInputPath, "Input path for the provider that requires it")
|
||||||
var dryRun = flag.Bool("dry-run", defaultDryRun, "Use to disable write actions on filesystem")
|
var dryRun = flag.Bool("dry-run", defaultDryRun, "Use to disable write actions on filesystem")
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
@ -38,6 +42,8 @@ func getGamesFromProvider(provider string) []games.Game {
|
||||||
var games []games.Game
|
var games []games.Game
|
||||||
if provider == "steam" {
|
if provider == "steam" {
|
||||||
games = append(games, steam.GetGames()...)
|
games = append(games, steam.GetGames()...)
|
||||||
|
} else if provider == "minecraft" {
|
||||||
|
games = append(games, minecraft.GetGames()...)
|
||||||
}
|
}
|
||||||
return games
|
return games
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
package minecraft
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"runtime"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/fmartingr/games-screenshot-mananger/pkg/games"
|
||||||
|
"github.com/fmartingr/games-screenshot-mananger/pkg/helpers"
|
||||||
|
)
|
||||||
|
|
||||||
|
func getScreenshotsFromPath(game *games.Game, path string) {
|
||||||
|
path = helpers.ExpandUser(path)
|
||||||
|
if _, err := os.Stat(path); !os.IsNotExist(err) {
|
||||||
|
files, err := ioutil.ReadDir(path)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, file := range files {
|
||||||
|
if strings.Contains(file.Name(), ".png") {
|
||||||
|
game.Screenshots = append(game.Screenshots, games.Screenshot{Path: path + "/" + file.Name(), DestinationName: file.Name()})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetGames() []games.Game {
|
||||||
|
var result []games.Game
|
||||||
|
// Standalone minecraft
|
||||||
|
minecraftStandalone := games.Game{Name: "Minecraft", Platform: "PC", Notes: "Standalone"}
|
||||||
|
|
||||||
|
if runtime.GOOS == "linux" {
|
||||||
|
getScreenshotsFromPath(&minecraftStandalone, "~/.minecraft/screenshots")
|
||||||
|
|
||||||
|
// Flatpak minecraft
|
||||||
|
minecraftFlatpak := games.Game{Name: "Minecraft", Platform: "PC", Notes: "Flatpak"}
|
||||||
|
getScreenshotsFromPath(&minecraftFlatpak, "~/.var/app/com.mojang.Minecraft/.minecraft/screenshots")
|
||||||
|
result = append(result, minecraftFlatpak)
|
||||||
|
} else if runtime.GOOS == "windows" {
|
||||||
|
getScreenshotsFromPath(&minecraftStandalone, path.Join(os.Getenv("APPDATA"), ".minecraft/screenshots"))
|
||||||
|
} else if runtime.GOOS == "darwin" {
|
||||||
|
getScreenshotsFromPath(&minecraftStandalone, path.Join(helpers.ExpandUser("~/Library/Application Support/minecraft/screenshots")))
|
||||||
|
}
|
||||||
|
result = append(result, minecraftStandalone)
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
Loading…
Reference in New Issue