From e6d2b43c25762df24e96bda3f66d39739b7b7fcf Mon Sep 17 00:00:00 2001 From: neolao Date: Sat, 4 Aug 2018 09:06:14 +0000 Subject: [PATCH] Add EXCLUDE parameter for emulator config --- sys.py/UI/Emulator/rom_list_page.py | 18 +++++++++++++----- sys.py/UI/main_screen.py | 3 +++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/sys.py/UI/Emulator/rom_list_page.py b/sys.py/UI/Emulator/rom_list_page.py index a8d38d5..ac97f63 100644 --- a/sys.py/UI/Emulator/rom_list_page.py +++ b/sys.py/UI/Emulator/rom_list_page.py @@ -4,6 +4,7 @@ import os import pygame import glob +import re import shutil import gobject import validators @@ -150,11 +151,18 @@ class RomListPage(Page): bname = os.path.basename(v) ### filter extension if len(bname)> 1: - pieces = bname.split(".") - if len(pieces) > 1: - if pieces[ len(pieces)-1 ].lower() in self._Emulator["EXT"]: - dirmap["file"] = v - ret.append(dirmap) + is_excluded = False + for exclude_pattern in self._Emulator["EXCLUDE"]: + if re.match(exclude_pattern, bname): + is_excluded = True + break + + if not is_excluded: + pieces = bname.split(".") + if len(pieces) > 1: + if pieces[ len(pieces)-1 ].lower() in self._Emulator["EXT"]: + dirmap["file"] = v + ret.append(dirmap) # else: # print("not file or dir") diff --git a/sys.py/UI/main_screen.py b/sys.py/UI/main_screen.py index 8931a7e..28ee12c 100644 --- a/sys.py/UI/main_screen.py +++ b/sys.py/UI/main_screen.py @@ -440,6 +440,7 @@ class MainScreen(object): obj["ROM"] = "" obj["ROM_SO"] ="" obj["EXT"] = [] + obj["EXCLUDE"] = [] obj["FILETYPE"] = "file" obj["LAUNCHER"] = "" obj["TITLE"] = "Game" @@ -459,6 +460,8 @@ class MainScreen(object): if len(pis) > 1: if "EXT" in pis[0]: obj[pis[0]] = pis[1].split(",") + elif "EXCLUDE" in pis[0] + obj[pis[0]] = pis[1].split(",") else: obj[pis[0]] = pis[1]