diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-08-09 13:09:45 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-16 16:38:32 +0200 |
commit | 145f02926494e34e12ba773485348f9269087431 (patch) | |
tree | 69778b19b68803a509ee9be2bf4e2a1b5ad745cd /ishtar_common/models_imports.py | |
parent | df7044e23e0123558124a600e5b470ed2d537135 (diff) | |
download | Ishtar-145f02926494e34e12ba773485348f9269087431.tar.bz2 Ishtar-145f02926494e34e12ba773485348f9269087431.zip |
✨ Imports groups: get import list sorted by order in importer group
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r-- | ishtar_common/models_imports.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 735ad0b10..201b39a5b 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -1311,11 +1311,26 @@ class ImportGroup(BaseImport): def __str__(self): return f"{self.name} ({self.importer_type.name})" + def import_list(self): + """ + Sorted import list by order in the importer group + """ + import_list = [] + for imp in self.imports.all(): + igi = ImporterGroupImporter.objects.filter( + group=self.importer_type, + importer_type=imp.importer_type + ) + if not igi.count(): # inconsistent data + continue + import_list.append((igi.all()[0].order, imp)) + return [imp for order, imp in sorted(import_list, key=lambda i: i[0])] + @property def status(self): if self.state not in IMPORT_GROUP_STATE_DCT: return "" - return IMPORT_GROUP_STATE_DCT[self.state] + return IMPORT_GROUP_STATE_DCT[str(self.state)] def get_actions(self): """ |