Fix: remove import cycles from `config.py`
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 30 Jul 2020 13:56:29 +0000 (09:56 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 30 Jul 2020 13:56:29 +0000 (09:56 -0400)
Now `config.py` contains the configuration objects and `config_file.py`
the configuration file functions.

This made barectf fail on Python 3.6.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
barectf/__init__.py
barectf/config.py
barectf/config_file.py [new file with mode: 0644]

index bb0207c4d4984ebfc087f08cdf6ed906539c88d4..701cb6aedf3ff358c6077405a5d9a0216738084c 100644 (file)
@@ -24,6 +24,7 @@
 import barectf.config_parse_common as barectf_config_parse_common
 import barectf.version as barectf_version
 import barectf.config as barectf_config
+import barectf.config_file as barectf_config_file
 import barectf.gen as barectf_gen
 
 
@@ -46,14 +47,11 @@ ClockType = barectf_config.ClockType
 ClockTypeCTypes = barectf_config.ClockTypeCTypes
 ClockTypeOffset = barectf_config.ClockTypeOffset
 Configuration = barectf_config.Configuration
-configuration_file_major_version = barectf_config.configuration_file_major_version
-configuration_from_file = barectf_config.configuration_from_file
 ConfigurationCodeGenerationHeaderOptions = barectf_config.ConfigurationCodeGenerationHeaderOptions
 ConfigurationCodeGenerationOptions = barectf_config.ConfigurationCodeGenerationOptions
 ConfigurationOptions = barectf_config.ConfigurationOptions
 DEFAULT_FIELD_TYPE = barectf_config.DEFAULT_FIELD_TYPE
 DisplayBase = barectf_config.DisplayBase
-effective_configuration_file = barectf_config.effective_configuration_file
 EnumerationFieldTypeMapping = barectf_config.EnumerationFieldTypeMapping
 EnumerationFieldTypeMappingRange = barectf_config.EnumerationFieldTypeMappingRange
 EnumerationFieldTypeMappings = barectf_config.EnumerationFieldTypeMappings
@@ -78,6 +76,12 @@ UnsignedEnumerationFieldType = barectf_config.UnsignedEnumerationFieldType
 UnsignedIntegerFieldType = barectf_config.UnsignedIntegerFieldType
 
 
+# configuration file API
+configuration_file_major_version = barectf_config_file.configuration_file_major_version
+configuration_from_file = barectf_config_file.configuration_from_file
+effective_configuration_file = barectf_config_file.effective_configuration_file
+
+
 # code generation API
 CodeGenerator = barectf_gen.CodeGenerator
 
index 44b85fa104c3c8f752dd483a9831dc32adf6e37d..319d28c6e7cf7fcb95ac6f7809a4891c68ad4d94 100644 (file)
@@ -21,7 +21,6 @@
 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-import barectf.config_parse as barectf_config_parse
 import barectf.version as barectf_version
 import collections.abc
 import collections
@@ -844,28 +843,3 @@ class Configuration:
     @property
     def options(self):
         return self._options
-
-
-def effective_configuration_file(file, with_package_inclusion_directory=True,
-                                 inclusion_directories=None, ignore_inclusion_not_found=False,
-                                 indent_space_count=2):
-    if inclusion_directories is None:
-        inclusion_directories = []
-
-    return barectf_config_parse._effective_config_file(file, with_package_inclusion_directory,
-                                                       inclusion_directories,
-                                                       ignore_inclusion_not_found,
-                                                       indent_space_count)
-
-
-def configuration_from_file(file, with_package_inclusion_directory=True, inclusion_directories=None,
-                            ignore_inclusion_not_found=False):
-    if inclusion_directories is None:
-        inclusion_directories = []
-
-    return barectf_config_parse._from_file(file, with_package_inclusion_directory,
-                                           inclusion_directories, ignore_inclusion_not_found)
-
-
-def configuration_file_major_version(file):
-    return barectf_config_parse._config_file_major_version(file)
diff --git a/barectf/config_file.py b/barectf/config_file.py
new file mode 100644 (file)
index 0000000..5090d59
--- /dev/null
@@ -0,0 +1,49 @@
+# The MIT License (MIT)
+#
+# Copyright (c) 2015-2020 Philippe Proulx <pproulx@efficios.com>
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+import barectf.config_parse as barectf_config_parse
+
+
+def effective_configuration_file(file, with_package_inclusion_directory=True,
+                                 inclusion_directories=None, ignore_inclusion_not_found=False,
+                                 indent_space_count=2):
+    if inclusion_directories is None:
+        inclusion_directories = []
+
+    return barectf_config_parse._effective_config_file(file, with_package_inclusion_directory,
+                                                       inclusion_directories,
+                                                       ignore_inclusion_not_found,
+                                                       indent_space_count)
+
+
+def configuration_from_file(file, with_package_inclusion_directory=True, inclusion_directories=None,
+                            ignore_inclusion_not_found=False):
+    if inclusion_directories is None:
+        inclusion_directories = []
+
+    return barectf_config_parse._from_file(file, with_package_inclusion_directory,
+                                           inclusion_directories, ignore_inclusion_not_found)
+
+
+def configuration_file_major_version(file):
+    return barectf_config_parse._config_file_major_version(file)
This page took 0.025593 seconds and 4 git commands to generate.