From f391c9603c36a8ec80942c23ac6ba39fca5df72a Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Sat, 31 Mar 2018 15:46:17 +0200
Subject: [PATCH] Change a bit the source code organisation

---
 src/__init__.py               |  1 +
 src/{parsers => }/abstract.py |  0
 src/{parsers => }/audio.py    |  0
 src/{parsers => }/jpg.py      |  0
 src/parser_factory.py         | 11 ++++++-----
 src/parsers/__init__.py       |  0
 src/{parsers => }/pdf.py      |  0
 src/{parsers => }/png.py      |  0
 tests/test_libmat2.py         |  3 +--
 9 files changed, 8 insertions(+), 7 deletions(-)
 rename src/{parsers => }/abstract.py (100%)
 rename src/{parsers => }/audio.py (100%)
 rename src/{parsers => }/jpg.py (100%)
 delete mode 100644 src/parsers/__init__.py
 rename src/{parsers => }/pdf.py (100%)
 rename src/{parsers => }/png.py (100%)

diff --git a/src/__init__.py b/src/__init__.py
index e69de29..7557381 100644
--- a/src/__init__.py
+++ b/src/__init__.py
@@ -0,0 +1 @@
+#!/bin/env python3
\ No newline at end of file
diff --git a/src/parsers/abstract.py b/src/abstract.py
similarity index 100%
rename from src/parsers/abstract.py
rename to src/abstract.py
diff --git a/src/parsers/audio.py b/src/audio.py
similarity index 100%
rename from src/parsers/audio.py
rename to src/audio.py
diff --git a/src/parsers/jpg.py b/src/jpg.py
similarity index 100%
rename from src/parsers/jpg.py
rename to src/jpg.py
diff --git a/src/parser_factory.py b/src/parser_factory.py
index f4cf07b..176ff2b 100644
--- a/src/parser_factory.py
+++ b/src/parser_factory.py
@@ -2,12 +2,12 @@ import mimetypes
 import importlib
 import pkgutil
 
-from .parsers import abstract
+from . import abstract
 
-for module_loader, name, ispkg in pkgutil.walk_packages('.src.parsers'):
-    if not name.startswith('src.parsers.'):
+for module_loader, name, ispkg in pkgutil.walk_packages('.src'):
+    if not name.startswith('src.'):
         continue
-    elif name == 'src.parsers.abstract':
+    elif name == 'src.abstract':
         continue
     importlib.import_module(name)
 
@@ -16,4 +16,5 @@ def get_parser(filename: str):
     for c in abstract.AbstractParser.__subclasses__():
         if mtype in c.mimetypes:
             return c(filename)
-    print('Nope')
+    print('factory: %s is not supported' % mtype)
+    return None
diff --git a/src/parsers/__init__.py b/src/parsers/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/src/parsers/pdf.py b/src/pdf.py
similarity index 100%
rename from src/parsers/pdf.py
rename to src/pdf.py
diff --git a/src/parsers/png.py b/src/png.py
similarity index 100%
rename from src/parsers/png.py
rename to src/png.py
diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py
index 27bb8d1..c21185e 100644
--- a/tests/test_libmat2.py
+++ b/tests/test_libmat2.py
@@ -4,8 +4,7 @@ import unittest
 import shutil
 import os
 
-from src import parsers
-from src.parsers import pdf, png, jpg, audio
+from src import pdf, png, jpg, audio, office
 
 class TestGetMeta(unittest.TestCase):
     def test_pdf(self):
-- 
GitLab