diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d59fffa..3443c11 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,7 +1,14 @@
# Contributing
## Code
-Fork the repository, make your changes, then create a pull request.
+
+Be sure to follow the [code style](#code-style) of the project.
+
+### Adding a feature
+[Create an issue](https://github.com/kra-mo/cartridges/issues/new) or join the [Discord](https://discord.gg/4KSFh3AmQR)/[Matrix](https://matrix.to/#/#cartridges:matrix.org) to discuss it with the maintainers. We will provide additional guidance.
+
+### Fixing a bug
+Fork the repository, make your changes, then create a pull request. Be sure to mention the GitHub issue you're fixing if one was already open.
## Translations
### Weblate
@@ -17,7 +24,7 @@ The project can be translated on [Weblate](https://hosted.weblate.org/engage/car
# Building
## GNOME Builder
-1. Install [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder).
+1. Install [GNOME Builder](https://flathub.org/apps/org.gnome.Builder).
2. Click "Clone Repository" with `https://github.com/kra-mo/cartridges.git` as the URL.
3. Click on the build button (hammer) at the top.
@@ -33,3 +40,23 @@ cd cartridges
meson setup build
ninja -C build install
```
+
+# Code style
+
+All code is auto-formatted with [Black](https://github.com/psf/black) and linted with [Pylint](https://github.com/pylint-dev/pylint). Imports are sorted by [isort](https://github.com/pycqa/isort).
+
+VSCode extensions are available for all of these and you can set them up with the following `settings.json` configuration:
+
+```json
+"python.formatting.provider": "none",
+"[python]": {
+ "editor.defaultFormatter": "ms-python.black-formatter",
+ "editor.formatOnSave": true,
+ "editor.codeActionsOnSave": {
+ "source.organizeImports": true
+ },
+},
+"isort.args":["--profile", "black"],
+```
+
+For other code editors, you can install them via `pip` and invoke them via the command line.
diff --git a/README.md b/README.md
index 0f148d9..1455504 100644
--- a/README.md
+++ b/README.md
@@ -1,30 +1,30 @@
+[circle-url]: https://circle.gnome.org
+[circle-image]: https://circle.gnome.org/assets/button/badge.svg
+[weblate-url]: https://hosted.weblate.org/engage/cartridges/
+[weblate-image]: https://hosted.weblate.org/widgets/cartridges/-/cartridges/svg-badge.svg
+[discord-url]: https://discord.gg/4KSFh3AmQR
+[discord-image]: https://img.shields.io/discord/1088155799299313754?color=%235865F2&label=discord&logo=discord&logoColor=%23FFFFFF&style=for-the-badge
+[matrix-url]: https://matrix.to/#/#cartridges:matrix.org
+[matrix-image]: https://img.shields.io/matrix/cartridges:matrix.org?label=Matrix&logo=matrix&color=%230dbd8b&style=for-the-badge
+[flathub-url]: https://flathub.org/apps/hu.kramo.Cartridges
+[flathub-image]: https://img.shields.io/flathub/v/hu.kramo.Cartridges?logo=flathub&style=for-the-badge
+[installs-image]: https://img.shields.io/flathub/downloads/hu.kramo.Cartridges?style=for-the-badge
+

- # Cartridges
-
- A GTK4 + Libadwaita game launcher
+ # Cartridges
-[![GNOME Circle][circle-image]][circle-url]
-[![Flathub][flathub-image]][flathub-url]
-[![Build status][github-actions-image]][github-actions-url]
-[![Translation Status][weblate-image]][weblate-url]
-[![Code style][code-style-image]][code-style-url]
-[![Discord][discord-image]][discord-url]
+ A GTK4 + Libadwaita game launcher
-[circle-url]: https://circle.gnome.org
-[circle-image]: https://circle.gnome.org/assets/button/badge.svg
-[github-actions-url]: https://github.com/kra-mo/cartridges
-[github-actions-image]: https://github.com/kra-mo/cartridges/actions/workflows/ci.yml/badge.svg
-[code-style-url]: https://github.com/psf/black
-[code-style-image]: https://img.shields.io/badge/code%20style-black-000000?style=flat
-[weblate-url]: https://hosted.weblate.org/engage/cartridges/
-[weblate-image]: https://hosted.weblate.org/widgets/cartridges/-/cartridges/svg-badge.svg
-[discord-url]: https://discord.gg/4KSFh3AmQR
-[discord-image]: https://img.shields.io/discord/1088155799299313754?color=%235865F2&label=discord&logo=discord&logoColor=%23FFFFFF
-[flathub-url]: https://flathub.org/apps/hu.kramo.Cartridges
-[flathub-image]: https://img.shields.io/flathub/v/hu.kramo.Cartridges
+ [![GNOME Circle][circle-image]][circle-url]
+ [![Translation Status][weblate-image]][weblate-url]
+
+ [![Flathub][flathub-image]][flathub-url]
+ [![Discord][discord-image]][discord-url]
+ [![Matrix][matrix-image]][matrix-url]
+ [![Installs][installs-image]][flathub-url]
@@ -50,7 +50,7 @@ Cartridges is a simple game launcher written in Python using GTK4 and Libadwaita
- Searching for games on various databases
- Animated covers
-For updates and questions, join our [Discord server][discord-url]!
+For updates and questions, join our [Discord server][discord-url] (bridged to [Matrix](https://matrix.to/#/#cartridges:matrix.org))!
# Installation
diff --git a/data/hu.kramo.Cartridges.metainfo.xml.in b/data/hu.kramo.Cartridges.metainfo.xml.in
index f908ea3..dd4695c 100644
--- a/data/hu.kramo.Cartridges.metainfo.xml.in
+++ b/data/hu.kramo.Cartridges.metainfo.xml.in
@@ -44,11 +44,10 @@
-
+
- - Fixes an issue with adding new games manually
- - Translations since 2.0
+ - Fixes an issue with Steam mods not importing properly
diff --git a/meson.build b/meson.build
index e8c4d37..94a902a 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('cartridges',
- version: '2.0.4',
+ version: '2.0.6',
meson_version: '>= 0.59.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)
diff --git a/po/pl.po b/po/pl.po
index e60ff11..c22be3a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the Cartridges package.
# Artur Wróblewski , 2023.
# Kshyso , 2023.
+# Eryk Michalak , 2023.
msgid ""
msgstr ""
"Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-05 14:36+0200\n"
-"PO-Revision-Date: 2023-06-10 16:48+0000\n"
-"Last-Translator: Kshyso \n"
+"PO-Revision-Date: 2023-07-14 15:51+0000\n"
+"Last-Translator: Eryk Michalak \n"
"Language-Team: Polish \n"
"Language: pl\n"
@@ -18,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Weblate 5.0-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47
@@ -37,7 +38,7 @@ msgstr "Uruchom wszystkie swoje gry"
#: data/hu.kramo.Cartridges.desktop.in:11
msgid "gaming;launcher;steam;lutris;heroic;bottles;itch;"
-msgstr ""
+msgstr "gry;gaming;launcher;steam;lutris;heroic;bottles;itch;"
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
msgid ""
@@ -107,7 +108,7 @@ msgstr ""
#: data/gtk/details-window.blp:130
msgid "More Info"
-msgstr ""
+msgstr "Więcej informacji"
#: data/gtk/game.blp:102 data/gtk/game.blp:121 data/gtk/window.blp:195
msgid "Edit"
@@ -227,30 +228,24 @@ msgstr "Steam"
#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192
#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220
#: data/gtk/preferences.blp:234
-#, fuzzy
-#| msgid "itch Install Location"
msgid "Install Location"
-msgstr "Położenie instalacji itch"
+msgstr "Lokalizacja instalacji"
#: data/gtk/preferences.blp:106
msgid "Lutris"
msgstr "Lutris"
#: data/gtk/preferences.blp:119
-#, fuzzy
-#| msgid "Lutris Cache Location"
msgid "Cache Location"
-msgstr "Lokalizacja Lutris Cache"
+msgstr "Lokalizacja pamięci podręcznej"
#: data/gtk/preferences.blp:128
msgid "Import Steam Games"
msgstr "Importuj gry Steam"
#: data/gtk/preferences.blp:137
-#, fuzzy
-#| msgid "Import Steam Games"
msgid "Import Flatpak Games"
-msgstr "Importuj gry Steam"
+msgstr "Importuj gry Flatpak"
#: data/gtk/preferences.blp:147
msgid "Heroic"
@@ -278,17 +273,15 @@ msgstr "itch"
#: data/gtk/preferences.blp:216
msgid "Legendary"
-msgstr ""
+msgstr "Legendarne"
#: data/gtk/preferences.blp:230
msgid "Flatpak"
-msgstr ""
+msgstr "Flatpak"
#: data/gtk/preferences.blp:243
-#, fuzzy
-#| msgid "Game Launcher"
msgid "Import Game Launchers"
-msgstr "Launcher Gier"
+msgstr "Importuj programy uruchamiające gry"
#: data/gtk/preferences.blp:256
msgid "SteamGridDB"
@@ -521,41 +514,31 @@ msgstr ""
"{} tutaj{}."
#: src/preferences.py:284
-#, fuzzy
-#| msgid "Installation Not Found"
msgid "Installation Not Found"
msgstr "Nie znaleziono instalacji"
#: src/preferences.py:286
-#, fuzzy
-#| msgid "Select the {} data directory."
msgid "Select a valid directory."
-msgstr "Wybierz {} katalog danych."
+msgstr "Wybierz prawidłowy katalog."
#: src/preferences.py:348
msgid "Invalid Directory"
-msgstr ""
+msgstr "Nieprawidłowy katalog"
#. The variable is the name of the source
#: src/preferences.py:352
-#, fuzzy
-#| msgid "Select the {} data directory."
msgid "Select the {} cache directory."
-msgstr "Wybierz {} katalog danych."
+msgstr "Wybierz katalog pamięci podręcznej {}."
#. The variable is the name of the source
#: src/preferences.py:355
-#, fuzzy
-#| msgid "Select the {} configuration directory."
msgid "Select the {} configuration directory."
-msgstr "Wybierz {} katalog konfiguracyjny."
+msgstr "Wybierz katalog konfiguracyjny {}."
#. The variable is the name of the source
#: src/preferences.py:358
-#, fuzzy
-#| msgid "Select the {} data directory."
msgid "Select the {} data directory."
-msgstr "Wybierz {} katalog danych."
+msgstr "Wybierz katalog z danymi {}."
#: src/preferences.py:364
msgid "Set Location"
@@ -566,14 +549,12 @@ msgid "Dismiss"
msgstr "Odrzucić"
#: src/store/managers/sgdb_manager.py:47
-#, fuzzy
-#| msgid "Couldn't Connect to SteamGridDB"
msgid "Couldn't Authenticate SteamGridDB"
-msgstr "Nie można połączyć się z SteamGridDB"
+msgstr "Nie można uwierzytelnić SteamGridDB"
#: src/store/managers/sgdb_manager.py:48
msgid "Verify your API key in preferences"
-msgstr ""
+msgstr "Zweryfikuj swój klucz API w preferencjach"
#, fuzzy
#~| msgid "Cache Not Found"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 231c2ba..c8b8e29 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the Cartridges package.
# Henrique Machado , 2023.
# Vinícius Gama Santos , 2023.
+# Vítor Fernandes Almado , 2023.
msgid ""
msgstr ""
"Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-05 14:36+0200\n"
-"PO-Revision-Date: 2023-06-02 15:40+0000\n"
-"Last-Translator: Vinícius Gama Santos \n"
+"PO-Revision-Date: 2023-07-11 15:52+0000\n"
+"Last-Translator: Vítor Fernandes Almado \n"
"Language-Team: Portuguese (Brazil) \n"
"Language: pt_BR\n"
@@ -17,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Weblate 5.0-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47
@@ -277,11 +278,11 @@ msgstr "itch"
#: data/gtk/preferences.blp:216
msgid "Legendary"
-msgstr ""
+msgstr "Lendário"
#: data/gtk/preferences.blp:230
msgid "Flatpak"
-msgstr ""
+msgstr "Flatpak"
#: data/gtk/preferences.blp:243
#, fuzzy
@@ -533,7 +534,7 @@ msgstr "Selecione o diretório de dados do(a) {}."
#: src/preferences.py:348
msgid "Invalid Directory"
-msgstr ""
+msgstr "Diretório inválido"
#. The variable is the name of the source
#: src/preferences.py:352
@@ -572,7 +573,7 @@ msgstr "Não foi possível conectar-se ao SteamGridDB"
#: src/store/managers/sgdb_manager.py:48
msgid "Verify your API key in preferences"
-msgstr ""
+msgstr "Verifique sua chave API nas preferências"
#, fuzzy
#~| msgid "Cache Not Found"
diff --git a/po/tr.po b/po/tr.po
index be3970c..e7acdd1 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-05 14:36+0200\n"
-"PO-Revision-Date: 2023-05-26 18:10+0000\n"
+"PO-Revision-Date: 2023-07-15 22:51+0000\n"
"Last-Translator: Sabri Ünal \n"
"Language-Team: Turkish \n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Weblate 5.0-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47
@@ -227,30 +227,24 @@ msgstr "Steam"
#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192
#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220
#: data/gtk/preferences.blp:234
-#, fuzzy
-#| msgid "itch Install Location"
msgid "Install Location"
-msgstr "itch Kurulu Konumu"
+msgstr "Kurulu Konumu"
#: data/gtk/preferences.blp:106
msgid "Lutris"
msgstr "Lutris"
#: data/gtk/preferences.blp:119
-#, fuzzy
-#| msgid "Lutris Cache Location"
msgid "Cache Location"
-msgstr "Lutris Önbellek Konumu"
+msgstr "Önbellek Konumu"
#: data/gtk/preferences.blp:128
msgid "Import Steam Games"
msgstr "Steam Oyunlarını İçe Aktar"
#: data/gtk/preferences.blp:137
-#, fuzzy
-#| msgid "Import Steam Games"
msgid "Import Flatpak Games"
-msgstr "Steam Oyunlarını İçe Aktar"
+msgstr "Flatpak Oyunlarını İçe Aktarın"
#: data/gtk/preferences.blp:147
msgid "Heroic"
@@ -278,17 +272,15 @@ msgstr "itch"
#: data/gtk/preferences.blp:216
msgid "Legendary"
-msgstr ""
+msgstr "Efsanevi"
#: data/gtk/preferences.blp:230
msgid "Flatpak"
-msgstr ""
+msgstr "Flatpak"
#: data/gtk/preferences.blp:243
-#, fuzzy
-#| msgid "Game Launcher"
msgid "Import Game Launchers"
-msgstr "Oyun Başlatıcı"
+msgstr "Oyun Başlatıcıları İçe Aktar"
#: data/gtk/preferences.blp:256
msgid "SteamGridDB"
@@ -521,39 +513,29 @@ msgstr ""
"oluşturabilirsiniz."
#: src/preferences.py:284
-#, fuzzy
-#| msgid "Installation Not Found"
msgid "Installation Not Found"
msgstr "Kurulum Bulunamadı"
#: src/preferences.py:286
-#, fuzzy
-#| msgid "Select the {} data directory."
msgid "Select a valid directory."
-msgstr "{} veri dizinini seç."
+msgstr "Geçerli bir dizin seçin."
#: src/preferences.py:348
msgid "Invalid Directory"
-msgstr ""
+msgstr "Geçersiz Dizin"
#. The variable is the name of the source
#: src/preferences.py:352
-#, fuzzy
-#| msgid "Select the {} data directory."
msgid "Select the {} cache directory."
-msgstr "{} veri dizinini seç."
+msgstr "{} önbellek dizinini seç."
#. The variable is the name of the source
#: src/preferences.py:355
-#, fuzzy
-#| msgid "Select the {} configuration directory."
msgid "Select the {} configuration directory."
msgstr "{} yapılandırma dizinini seç."
#. The variable is the name of the source
#: src/preferences.py:358
-#, fuzzy
-#| msgid "Select the {} data directory."
msgid "Select the {} data directory."
msgstr "{} veri dizinini seç."
@@ -566,14 +548,12 @@ msgid "Dismiss"
msgstr "Vazgeç"
#: src/store/managers/sgdb_manager.py:47
-#, fuzzy
-#| msgid "Couldn't Connect to SteamGridDB"
msgid "Couldn't Authenticate SteamGridDB"
-msgstr "SteamGridDBʼye bağlanılamadı"
+msgstr "SteamGridDB Kimlik Doğrulaması Yapılamadı"
#: src/store/managers/sgdb_manager.py:48
msgid "Verify your API key in preferences"
-msgstr ""
+msgstr "Tercihlerde API anahtarınızı doğrulayın"
#, fuzzy
#~| msgid "Cache Not Found"
diff --git a/src/utils/steam.py b/src/utils/steam.py
index 145adde..e0cb0f2 100644
--- a/src/utils/steam.py
+++ b/src/utils/steam.py
@@ -142,8 +142,7 @@ class SteamAPIHelper:
raise SteamGameNotFoundError()
# Handle appid is not a game
- game_types = ("game", "demo")
- if data["data"]["type"] not in game_types:
+ if data["data"]["type"] not in {"game", "demo", "mod"}:
logging.debug("Appid %s is not a game", appid)
raise SteamNotAGameError()