From 5b19bd27d17388c281d0974f31d929295634cdf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20LAURENT?= <francois.laurent@pasteur.fr>
Date: Fri, 20 May 2022 09:45:30 +0200
Subject: [PATCH] input files grouped by dirs

---
 src/taggingbackends/explorer.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/taggingbackends/explorer.py b/src/taggingbackends/explorer.py
index e0d1ba5..3c67115 100644
--- a/src/taggingbackends/explorer.py
+++ b/src/taggingbackends/explorer.py
@@ -4,6 +4,7 @@ import pathlib
 import importlib
 import logging
 import subprocess
+from collections import defaultdict
 
 
 class BackendExplorer:
@@ -293,7 +294,7 @@ run `poetry add {pkg}` from directory: \n
     def list_model_files(self):
         return self.list_files(self.model_dir())
 
-    def list_files(self, data_dir, relative=False):
+    def list_files(self, data_dir, relative=False, group_by_directories=False):
         files = []
         dirs = [data_dir]
         while dirs:
@@ -305,6 +306,11 @@ run `poetry add {pkg}` from directory: \n
                     if relative:
                         child = child.relative_to(data_dir)
                     files.append(child)
+        if group_by_directories:
+            files_ = defaultdict(list)
+            for file in files:
+                files_[file.parent.name].append(file)
+            files = dict(files_)
         return files
 
 
-- 
GitLab