changeset 181:7cfdc972af42

Refactor: Renamed public functions to be conform with the new loader search
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 03 May 2019 09:43:15 +0200
parents e87fa5bd68e7
children 3c0ff52b2bdb
files configmix/__init__.py tests/test.py
diffstat 2 files changed, 31 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/configmix/__init__.py	Fri May 03 09:31:56 2019 +0200
+++ b/configmix/__init__.py	Fri May 03 09:43:15 2019 +0200
@@ -19,8 +19,8 @@
 __date__ = "|VCSJustDate|"
 
 __all__ = ["load", "safe_load",
-           "set_loader", "get_loader",
-           "get_default_loader",
+           "set_assoc", "get_assoc", "clear_assoc",
+           "get_default_assoc",
            "Configuration",
            "try_determine_filemode"]
 
@@ -160,7 +160,7 @@
 """Default associations between file modes and loader functions"""
 
 
-DEFAULT_EXTENSIONS = [
+DEFAULT_ASSOC = [
     ("*.yml", "yaml"),
     ("*.yaml", "yaml"),
     ("*.json", "json"),
@@ -178,20 +178,22 @@
 
 
 DEFAULT_LOADER = object()
-"""Marker for the default loader for an extension.
+"""Marker for the default association for an extension.
 
-To be used in :func:`set_loader`.
+To be used in :func:`set_assoc`.
 """
 
-def get_default_loader(pattern):
-    """Return the default loader for the :mod:`fnmatch` pattern `pattern`.
+
+def get_default_assoc(pattern):
+    """Return the default file-mode association for the :mod:`fnmatch`
+    pattern `pattern`.
 
     :raises: :class:`KeyError` if the `pattern` is not found.
 
     """
-    for pat, loader in _default_loaders:
+    for pat, fmode in DEFAULT_ASSOC:
         if pattern == pat:
-            return loader
+            return fmode
     else:
         raise KeyError("No loader for pattern %r" % pattern)
 
@@ -206,34 +208,34 @@
 _extensions = []
 """All configured assiciations of filename extensions with file modes.
 
-See :data:`DEFAULT_EXTENSIONS`
+See :data:`DEFAULT_ASSOC`
 
 """
 
 
-def clear_loader():
+def clear_assoc():
     """Remove all configured loader associations.
 
     The :data:`_default_loaders` are **not** changed.
 
     """
-    del _loaders[:]
+    del _extensions[:]
 
 
-def get_loader(pattern):
+def get_assoc(pattern):
     """Return the default loader for the :mod:`fnmatch` pattern `pattern`.
 
     :raises: :class:`KeyError` if the `pattern` is not found.
 
     """
-    for pat, loader in _loaders:
+    for pat, fmode in _extensions:
         if pattern == pat:
-            return loader
+            return fmode
     else:
-        raise KeyError("No loader for pattern %r" % pattern)
+        raise KeyError("No associated file-mode for pattern %r" % pattern)
 
 
-def set_loader(fnpattern, mode):
+def set_assoc(fnpattern, mode):
     """Associate a :mod:`fnmatch` style pattern `fnpattern` with a
     file-mode `mode` that determines what will be called when
     :func:`load` encounters a file argument that matches `fnpattern`.
@@ -251,12 +253,12 @@
     :func:`fnmatch.fnmatch` applies (i.e. :func:`os.path.normpath`
     will be called for both arguments).
 
-    If `loader` is :data:`DEFAULT_LOADER` then the default association
+    If `loader` is :data:`DEFAULT_ASSOC` then the default association
     from :data:`_default_loaders` will be used -- if any.
 
     """
     if mode is DEFAULT_LOADER:
-        for p, m in DEFAULT_EXTENSIONS:
+        for p, m in DEFAULT_ASSOC:
             if p == fnpattern:
                 _extensions.insert(0, (fnpattern, m))
                 break
@@ -426,5 +428,5 @@
 # Init loader defaults: mode->loader and extension->mode
 #
 _mode_loaders.update(DEFAULT_MODE_LOADERS)
-for _pattern, _mode in DEFAULT_EXTENSIONS:
-    set_loader(_pattern, _mode)
+for _pattern, _mode in DEFAULT_ASSOC:
+    set_assoc(_pattern, _mode)
--- a/tests/test.py	Fri May 03 09:31:56 2019 +0200
+++ b/tests/test.py	Fri May 03 09:43:15 2019 +0200
@@ -311,12 +311,12 @@
         self._reset()
 
     def _reset(self):
-        configmix.clear_loader()
-        for pat, loader in configmix._default_loaders:
-            configmix.set_loader(pat, loader)
+        configmix.clear_assoc()
+        for pat, fmode in configmix.DEFAULT_ASSOC:
+            configmix.set_assoc(pat, fmode)
 
     def test01_additional(self):
-        configmix.set_loader("*.conf", configmix.get_default_loader("*.yml"))
+        configmix.set_assoc("*.conf", configmix.get_default_assoc("*.yml"))
         cfg = configmix.load(
             os.path.join(TESTDATADIR, "conf1.ini"),
             os.path.join(TESTDATADIR, "conf30.conf"))
@@ -324,8 +324,8 @@
         self.assertEqual(u("new value"), cfg.getvar_s("key-new"))
 
     def test02_only_style_wrong_style(self):
-        configmix.clear_loader()
-        configmix.set_loader("*.conf", configmix.get_default_loader("*.yml"))
+        configmix.clear_assoc()
+        configmix.set_assoc("*.conf", configmix.get_default_assoc("*.yml"))
 
         def _ld():
             return configmix.load(os.path.join(TESTDATADIR, "conf1.ini"),
@@ -334,8 +334,8 @@
         self.assertRaises(ValueError, _ld)
 
     def test03_only_style_corrrect_style(self):
-        configmix.clear_loader()
-        configmix.set_loader("*.conf", configmix.get_default_loader("*.yml"))
+        configmix.clear_assoc()
+        configmix.set_assoc("*.conf", configmix.get_default_assoc("*.yml"))
         cfg = configmix.load(os.path.join(TESTDATADIR, "conf30.conf"))
         self.assertEqual(u("new value"), cfg.getvar_s("key-new"))