Dotfiles
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

#!/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()