You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.7 KiB
94 lines
2.7 KiB
#!/usr/bin/env python3 |
|
|
|
from getpass import getuser |
|
from pathlib import Path |
|
from steamsync import SteamSync |
|
|
|
|
|
sync = SteamSync(Path("~/Nextcloud/Misc/Savegames").expanduser()) |
|
|
|
# Find home |
|
steamns_home = Path("~/.local/steam/home/%s/" % getuser()).expanduser() |
|
if steamns_home.exists(): |
|
sync.home_path = steamns_home |
|
|
|
|
|
### ----------------------------------------------------------------- |
|
# Steam Games |
|
### ----------------------------------------------------------------- |
|
@sync.by_name("zanzarah") |
|
def zanzarah(op): |
|
with op.game_directory.prefix("Save") as set: |
|
set += "*.dat" |
|
if set.show_confirm(): |
|
set.execute() |
|
|
|
@sync.by_id(787860) # Farming Simulator 19 |
|
def fs19(op): |
|
with op.my_documents.prefix("My Games/FarmingSimulator2019") as set: |
|
set.add( |
|
"music/streamingInternetRadios.xml", |
|
"savegame[1-9]", |
|
"savegame[1-2][0-9]" |
|
"VERSION", |
|
) |
|
set.execute() |
|
|
|
@sync.by_name("Fell Seal") |
|
def fell_seal(op): |
|
with op.home.prefix("Fell Seal") as set: |
|
set += "saves" |
|
set += "customdata" |
|
set.execute() |
|
|
|
@sync.by_name("Sacred Gold") |
|
def sacred(op): |
|
with op.game_directory.prefix("save") as set: |
|
set += "GAME*.PAK" |
|
set += "hero*.pax" |
|
set.execute() |
|
|
|
@sync.by_id(39540) # SpellForce Platinum |
|
def spellforce(op): |
|
sync = op.steam_cloud_ufs() |
|
if sync.show_confirm(): |
|
sync.execute() |
|
|
|
@sync.by_id(1282590) # Train Sim World 2 |
|
def tsw2(op): |
|
with op.my_documents.prefix("My Games/TrainSimWorld2/Saved/SaveGames") as set: |
|
set += "*.sav" |
|
if set.show_confirm(): |
|
set.execute() |
|
|
|
|
|
@sync.by_id(1366540) # Dyson Sphere Program |
|
def dyson_sphere_program(op): |
|
with op.my_documents.prefix("Dyson Sphere Program") as set: |
|
set += "Save" |
|
if set.show_confirm(): |
|
set.execute() |
|
|
|
### ----------------------------------------------------------------- |
|
# Other Games |
|
### ----------------------------------------------------------------- |
|
@sync.wine("Final Fantasy XIV", |
|
['/media/Games/Lutris/Final Fantasy XIV'], |
|
lambda p: p.my_documents / "My Games/FINAL FANTASY XIV - A Realm Reborn") |
|
def ffxiv(op): |
|
with op.found as set: |
|
set += "FFXIV_CHR*/*.dat" |
|
if set.show_confirm(): |
|
set.backup() |
|
set.commit() |
|
|
|
@sync.wine("Dragon Age Inquisition", |
|
['/media/Games/Lutris/Dragon Age Inquisition'], |
|
lambda p: p.my_documents / "BioWare/Dragon Age Inquisition") |
|
def da_i(op): |
|
with op.found / "Save" as set: |
|
# XXX: Sync ProfileOptions{,_profile} too? |
|
set += "*.DAS" |
|
if set.show_confirm(): |
|
set.backup() |
|
set.commit()
|
|
|