Adding dependency term on MGLs

This commit is contained in:
José Manuel Barroso Galindo
2022-12-22 02:18:09 +01:00
parent 3e0730a019
commit 690dd07bde
2 changed files with 14 additions and 6 deletions

View File

@@ -153,7 +153,13 @@ class Metadata:
self._props = props
def is_mgl_home(self, home):
return home in self._props['home'] and self._props['home'][home]['is_mgl']
return home in self._props['home'] and self._props['home'][home]['mgl_dependency'] != ''
def mgl_dependency(self, home):
mgl_dependency = self._props['home'][home]['mgl_dependency']
if len(mgl_dependency) == 0:
return Exception('This method should be used after is_mgl_home is true')
return mgl_dependency
def category_by_home(self, home):
return None if home not in self._props['home'] else self._props['home'][home]['category']
@@ -268,6 +274,7 @@ class Tags:
self._append(result, self._use_term(first_level))
if self._metadata.is_mgl_home(first_level):
self._append(result, self._use_term('mgl'))
self._append(result, self._use_term(self._metadata.mgl_dependency(first_level)))
category = self._metadata.category_by_home(first_level)
if category is not None:
@@ -337,6 +344,7 @@ class Tags:
self._append(result, self._use_term('handheld2p'))
if self._metadata.is_mgl_home(first_level):
self._append(result, self._use_term('mgl'))
self._append(result, self._use_term(self._metadata.mgl_dependency(first_level)))
category = self._metadata.category_by_home(first_level)
if category is not None:
self._append(result, self._use_term(category))

View File

@@ -333,7 +333,7 @@ def impl_install_generic_core(path, target_dir, core, metadata, touch_games_fold
continue
home_folders.append(setname)
metadata.add_mgl_home(setname, core['category'])
metadata.add_mgl_home(setname, core['category'], rbf)
metadata.add_core_aliases([setname, Path(mgl).stem])
for folder in home_folders:
@@ -473,14 +473,14 @@ class Metadata:
def set_ctx(self, ctx):
self._ctx = ctx
def add_mgl_home(self, folder, category):
def add_mgl_home(self, folder, category, rbf):
lower = folder.lower()
self._props['home'][lower] = self._props['home'].get(lower, {'is_mgl': True, 'category': category.lower()[1:]})
self._props['home'][lower] = self._props['home'].get(lower, {'mgl_dependency': Path(rbf).stem.lower(), 'category': category.lower()[1:]})
def add_home(self, folder, category):
lower = folder.lower()
self._props['home'][lower] = self._props['home'].get(lower, {'is_mgl': True, 'category': category.lower()[1:]})
self._props['home'][lower]['is_mgl'] = False
self._props['home'][lower] = self._props['home'].get(lower, {'mgl_dependency': '', 'category': category.lower()[1:]})
self._props['home'][lower]['mgl_dependency'] = ''
def add_core_aliases(self, core_aliases):
terms = {to_filter_term(c) for c in core_aliases}