parent
bc26e6e787
commit
8153b81cba
|
@ -11,18 +11,22 @@ import (
|
|||
|
||||
"github.com/fmartingr/games-screenshot-mananger/pkg/games"
|
||||
"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"
|
||||
)
|
||||
|
||||
var allowedProviders = [...]string{"steam"}
|
||||
var allowedProviders = [...]string{"steam", "minecraft"}
|
||||
|
||||
const defaultOutputPath string = "./Output"
|
||||
|
||||
// const defaultInputPath string = "./Input"
|
||||
const defaultProvider string = "steam"
|
||||
const defaultDryRun bool = false
|
||||
|
||||
func Start() {
|
||||
var provider = flag.String("provider", defaultProvider, "steam")
|
||||
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")
|
||||
|
||||
flag.Parse()
|
||||
|
@ -38,6 +42,8 @@ func getGamesFromProvider(provider string) []games.Game {
|
|||
var games []games.Game
|
||||
if provider == "steam" {
|
||||
games = append(games, steam.GetGames()...)
|
||||
} else if provider == "minecraft" {
|
||||
games = append(games, minecraft.GetGames()...)
|
||||
}
|
||||
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