浏览代码

Add full system name to model

Colin Powell 3 年之前
父节点
当前提交
6a7add2363
共有 3 个文件被更改,包括 36 次插入2 次删除
  1. 29 0
      emus/settings.py
  2. 5 1
      games/models.py
  3. 2 1
      games/utils.py

+ 29 - 0
emus/settings.py

@@ -170,6 +170,35 @@ RETROPIE_RETROARCH_WEB_SYSTEM_MAP = {
     "wii": "dolphin",
 }
 
+GAME_SYSTEM_SLUG_MAP = {
+    "3do": "3DO",
+    "atarijaguar": "Atari Jaguar",
+    "coleco": "Colecovision",
+    "dreamcast": "Dreamcast",
+    "gb": "Game Boy",
+    "gba": "Game Boy Advance",
+    "gbc": "Game Boy Color",
+    "gc": "GameCube",
+    "megadrive": "Genesis/Mega Drive",
+    "gamgear": "Game Gear",
+    "atarilynx": "Atari Lynx",
+    "msx": "MSX",
+    "n64": "Nintendo 64",
+    "nds": "Nintendo DS",
+    "ngp": "Neo Geo Pocket",
+    "ngpc": "Neo Geo Pocket Color",
+    "nes": "Nintendo",
+    "pcengine": "PC Engine/TurboGrafix 16",
+    "psp": "Playstation Portable",
+    "psx": "Playstation",
+    "saturn": "Saturn",
+    "scummvm": "ScummVM",
+    "sega32x": "Sega 32X",
+    "segacd": "Sega CD",
+    "snes": "Super Nintendo",
+    "wii": "Wii",
+}
+
 default_level = "INFO"
 if DEBUG:
     default_level = "DEBUG"

+ 5 - 1
games/models.py

@@ -69,6 +69,10 @@ class GameSystem(BaseModel):
         max_length=50,
     )
 
+    @property
+    def full_name(self):
+        return settings.GAME_SYSTEM_SLUG_MAP.get(self.retropie_slug, None)
+
     @property
     def webretro_core(self):
         return settings.RETROPIE_WEBRETRO_SYSTEM_MAP.get(self.retropie_slug, None)
@@ -166,7 +170,7 @@ class Game(BaseModel):
         default=False,
     )
     region = models.CharField(
-        max_length=2,
+        max_length=10,
         choices=Region.choices(),
         blank=True,
         null=True,

+ 2 - 1
games/utils.py

@@ -40,8 +40,9 @@ def import_gamelist_file_to_db_for_system(
     gamelist = ET.parse(file_path)
     game_system = GameSystem.objects.filter(retropie_slug=game_system_slug).first()
     if not game_system:
+        full_system_name = GAME_SYSTEM_SLUG_MAP.get(game_system_slug, game_system_slug)
         game_system = GameSystem.objects.create(
-            name=game_system_slug, retropie_slug=game_system_slug
+            name=full_system_name, retropie_slug=game_system_slug
         )
 
     games = gamelist.findall("game")