Compare commits

...

7 Commits

Author SHA1 Message Date
kramo
893b290a1e v1.5.5 2023-06-10 18:48:39 +02:00
kramo
49769b7083 Fix import hanging if custom Bottles location 2023-06-10 18:45:56 +02:00
kramo
5fadaf8537 Add _ to Python builtins 2023-06-10 18:24:59 +02:00
kramo
e804f8192e Update bug_report.md 2023-06-02 17:40:28 +02:00
kramo
1311c53c3e Import demos from Steam - closes #108 2023-05-30 20:24:41 +02:00
kramo
6f69344a16 v1.5.4 2023-05-27 17:54:43 +02:00
kramo
63951d76ac Fix custom path check logic 2023-05-27 17:53:08 +02:00
10 changed files with 38 additions and 24 deletions

View File

@@ -26,6 +26,7 @@ If applicable, add screenshots to help explain your problem.
**System (please complete the following information):**
- OS: [e.g. Fedora Linux]
- Installation method [e.g. Flatpak]
- Cartridges version [e.g. 1.5.4]
**Additional context**
Add any other context about the problem here.

View File

@@ -44,11 +44,10 @@
</screenshots>
<content_rating type="oars-1.1" />
<releases>
<release version="1.5.3" date="2023-05-27">
<release version="1.5.5" date="2023-06-10">
<description translatable="no">
<ul>
<li>Fixes a bug with custom install locations</li>
<li>Translations since 1.5</li>
<li>Fixes an issue with Bottles' custom Bottles directory feature</li>
</ul>
</description>
</release>

View File

@@ -1,5 +1,5 @@
project('cartridges',
version: '1.5.3',
version: '1.5.5',
meson_version: '>= 0.59.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)

1
src/__builtins__.pyi Normal file
View File

@@ -0,0 +1 @@
def _(_msg: str, /) -> str: ...

View File

@@ -34,6 +34,7 @@ def bottles_installed(path=None):
(path,)
if path
else (
Path(shared.schema.get_string(location_key)).expanduser(),
Path.home() / ".var/app/com.usebottles.bottles/data/bottles",
shared.data_dir / "bottles",
)
@@ -82,15 +83,25 @@ def bottles_importer():
values["added"] = current_time
values["last_played"] = 0
# This will not work if both Cartridges and Bottles are installed via Flatpak
# as Cartridges can't access directories picked via Bottles' file picker portal
try:
bottles_location = Path(
yaml.safe_load((bottles_dir / "data.yml").read_text("utf-8"))[
"custom_bottles_path"
]
)
except (FileNotFoundError, KeyError):
bottles_location = bottles_dir / "bottles"
grid_path = (
bottles_location
/ game["bottle"]["path"]
/ "grids"
/ game["thumbnail"].split(":")[1]
)
importer.save_game(
values,
(
bottles_dir
/ "bottles"
/ game["bottle"]["path"]
/ "grids"
/ game["thumbnail"].split(":")[1]
)
if game["thumbnail"]
else None,
grid_path if game["thumbnail"] and grid_path.is_file() else None,
)

View File

@@ -35,6 +35,7 @@ def heroic_installed(path=None):
(path,)
if path
else (
Path(shared.schema.get_string(location_key)).expanduser(),
Path.home() / ".var/app/com.heroicgameslauncher.hgl/config/heroic",
shared.config_dir / "heroic",
)

View File

@@ -129,6 +129,7 @@ def itch_installed(path=None):
(path,)
if path
else (
Path(shared.schema.get_string(location_key)).expanduser(),
Path.home() / ".var/app/io.itch.itch/config/itch",
shared.config_dir / "itch",
)

View File

@@ -34,6 +34,7 @@ def lutris_installed(path=None):
(path,)
if path
else (
Path(shared.schema.get_string(location_key)).expanduser(),
Path.home() / ".var/app/net.lutris.Lutris/data/lutris",
shared.data_dir / "lutris",
)
@@ -52,6 +53,7 @@ def lutris_cache_exists(path=None):
(path,)
if path
else (
Path(shared.schema.get_string(cache_key)).expanduser(),
Path.home() / ".var" / "app" / "net.lutris.Lutris" / "cache" / "lutris",
shared.cache_dir / "lutris",
)

View File

@@ -38,7 +38,7 @@ def update_values_from_data(content, values):
if data.get("developers"):
values["developer"] = ", ".join(data["developers"])
if data.get("type") != "game":
if data.get("type") not in {"game", "demo"}:
values["blacklisted"] = True
return values
@@ -126,7 +126,6 @@ def get_games_async(appmanifests, steam_dir, importer):
def steam_installed(path=None):
location_key = "steam-location"
steam_dir = Path(shared.schema.get_string(location_key)).expanduser()
check = "steamapps"
subdirs = ("steam", "Steam")
@@ -134,7 +133,7 @@ def steam_installed(path=None):
(path,)
if path
else (
steam_dir,
Path(shared.schema.get_string(location_key)).expanduser(),
Path.home() / ".steam",
shared.data_dir / "Steam",
Path.home() / ".var/app/com.valvesoftware.Steam/data/Steam",
@@ -165,13 +164,12 @@ def steam_importer():
steam_dirs = [steam_dir]
for directory in steam_dirs:
if not (directory / "steamapps").is_dir():
steam_dirs.remove(directory)
for directory in steam_dirs:
for open_file in (directory / "steamapps").iterdir():
if open_file.is_file() and "appmanifest" in open_file.name:
appmanifests.append(open_file)
try:
for open_file in (directory / "steamapps").iterdir():
if open_file.is_file() and "appmanifest" in open_file.name:
appmanifests.append(open_file)
except FileNotFoundError:
continue
importer = shared.importer
importer.total_queue += len(appmanifests)

View File

@@ -1,5 +1,5 @@
#define MyAppName "Cartridges"
#define MyAppVersion "1.5.3"
#define MyAppVersion "1.5.5"
#define MyAppPublisher "kramo"
#define MyAppURL "https://github.com/kra-mo/cartridges"
#define MyAppExeName "pythonw.exe"