From 54df7aca125720357cb728c6df6156f6b74900cd Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Wed, 23 Dec 2020 17:39:21 +0100 Subject: [PATCH] Creole => Rougail --- src/rougail/__init__.py | 4 +-- src/rougail/objspace.py | 56 ++++++++++++++++++--------------------- tests/test_1_flattener.py | 4 +-- 3 files changed, 30 insertions(+), 34 deletions(-) diff --git a/src/rougail/__init__.py b/src/rougail/__init__.py index 84d6d9e8..6fa753fc 100644 --- a/src/rougail/__init__.py +++ b/src/rougail/__init__.py @@ -1,5 +1,5 @@ #from .loader import load -from .objspace import CreoleObjSpace +from .objspace import RougailObjSpace from .annotator import modes -__ALL__ = ('CreoleObjSpace', 'modes') +__ALL__ = ('RougailObjSpace', 'modes') diff --git a/src/rougail/objspace.py b/src/rougail/objspace.py index af085b3d..c709075a 100644 --- a/src/rougail/objspace.py +++ b/src/rougail/objspace.py @@ -1,5 +1,5 @@ """ -Takes a bunch of Creole XML dispatched in differents folders +Takes a bunch of Rougail XML dispatched in differents folders as an input and outputs a Tiramisu's file Sample usage:: @@ -9,24 +9,20 @@ Sample usage:: - >>> from rougail.objspace import CreoleObjSpace - >>> eolobj = CreoleObjSpace('/usr/share/rougail/rougail.dtd') + >>> from rougail.objspace import RougailObjSpace + >>> eolobj = RougailObjSpace('/usr/share/rougail/rougail.dtd') >>> eolobj.create_or_populate_from_xml('rougail', ['/usr/share/rougail/dicos']) >>> eolobj.space_visitor('/usr/share/rougail/funcs.py') >>> tiramisu = eolobj.save() -The CreoleObjSpace +The RougailObjSpace -- loads the XML into an internal CreoleObjSpace representation +- loads the XML into an internal RougailObjSpace representation - visits/annotates the objects - dumps the object space as Tiramisu string -The visit/annotation stage is a complex step that corresponds to the Creole +The visit/annotation stage is a complex step that corresponds to the Rougail procedures. - -For example: a variable is redefined and shall be moved to another family -means that a variable1 = Variable() object in the object space who lives in the family1 parent -has to be moved in family2. The visit procedure changes the varable1's object space's parent. """ from .i18n import _ from .xmlreflector import XMLReflector @@ -37,11 +33,11 @@ from .error import OperationError, SpaceObjShallNotBeUpdated, DictConsistencyErr from .path import Path from .config import Config -# CreoleObjSpace's elements like 'family' or 'follower', that shall be forced to the Redefinable type +# RougailObjSpace's elements like 'family' or 'follower', that shall be forced to the Redefinable type FORCE_REDEFINABLES = ('family', 'follower', 'service', 'disknod', 'variables') -# CreoleObjSpace's elements that shall be forced to the UnRedefinable type +# RougailObjSpace's elements that shall be forced to the UnRedefinable type FORCE_UNREDEFINABLES = ('value',) -# CreoleObjSpace's elements that shall be set to the UnRedefinable type +# RougailObjSpace's elements that shall be set to the UnRedefinable type UNREDEFINABLE = ('multi', 'type') FORCED_TEXT_ELTS_AS_NAME = ('choice', 'property', 'value', 'target') @@ -49,32 +45,32 @@ FORCED_TEXT_ELTS_AS_NAME = ('choice', 'property', 'value', 'target') # _____________________________________________________________________________ # special types definitions for the Object Space's internal representation -class RootCreoleObject: +class RootRougailObject: def __init__(self, xmlfiles): if not isinstance(xmlfiles, list): xmlfiles = [xmlfiles] self.xmlfiles = xmlfiles -class Atom(RootCreoleObject): +class Atom(RootRougailObject): pass -class Redefinable(RootCreoleObject): +class Redefinable(RootRougailObject): pass -class UnRedefinable(RootCreoleObject): +class UnRedefinable(RootRougailObject): pass -class CreoleObjSpace: - """DOM XML reflexion free internal representation of a Creole Dictionary +class RougailObjSpace: + """DOM XML reflexion free internal representation of a Rougail Dictionary """ - choice = type('Choice', (RootCreoleObject,), dict()) - property_ = type('Property', (RootCreoleObject,), dict()) - # Creole ObjectSpace's Leadership variable class type - Leadership = type('Leadership', (RootCreoleObject,), dict()) + choice = type('Choice', (RootRougailObject,), dict()) + property_ = type('Property', (RootRougailObject,), dict()) + # Rougail ObjectSpace's Leadership variable class type + Leadership = type('Leadership', (RootRougailObject,), dict()) """ This Atom type stands for singleton, that is an Object Space's atom object is present only once in the @@ -108,7 +104,7 @@ class CreoleObjSpace: """Create Rougail ObjectSpace class types, it enables us to create objects like: File(), Variable(), Ip(), Family(), Constraints()... and so on. - Creole ObjectSpace is an object's reflexion of the XML elements""" + Rougail ObjectSpace is an object's reflexion of the XML elements""" for dtd_elt in self.xmlreflector.dtd.iterelements(): attrs = {} @@ -148,7 +144,7 @@ class CreoleObjSpace: xmlfolders, ): """Parses a bunch of XML files - populates the CreoleObjSpace + populates the RougailObjSpace """ for xmlfile, document in self.xmlreflector.load_xml_from_folders(xmlfolders): self.redefine_variables = [] @@ -166,8 +162,8 @@ class CreoleObjSpace: space, namespace, ): - """Parses a Creole XML file - populates the CreoleObjSpace + """Parses a Rougail XML file + populates the RougailObjSpace """ # var to check unique family name in a XML file family_names = [] @@ -230,7 +226,7 @@ class CreoleObjSpace: namespace, ): """ - instanciates or creates Creole Object Subspace objects + instanciates or creates Rougail Object Subspace objects """ obj = getattr(self, child.tag) if Redefinable in obj.__mro__: @@ -322,7 +318,7 @@ class CreoleObjSpace: return children[name] def convert_boolean(self, value): # pylint: disable=R0201 - """Boolean coercion. The Creole XML may contain srings like `True` or `False` + """Boolean coercion. The Rougail XML may contain srings like `True` or `False` """ if isinstance(value, bool): return value @@ -372,7 +368,7 @@ class CreoleObjSpace: child, variableobj, ): - """Creole object tree manipulations + """Rougail object tree manipulations """ if child.tag == 'variable': if child.attrib.get('remove_check', False): diff --git a/tests/test_1_flattener.py b/tests/test_1_flattener.py index 15b6be2b..1fe241fe 100644 --- a/tests/test_1_flattener.py +++ b/tests/test_1_flattener.py @@ -54,7 +54,7 @@ def test_dir_error(request): def launch_flattener(test_dir, test_ok=False): - eolobj = objspace.CreoleObjSpace(Config['dtdfilename']) + eolobj = objspace.RougailObjSpace(Config['dtdfilename']) dirs = [test_dir] subfolder = join(test_dir, 'subfolder') if isdir(subfolder): @@ -113,4 +113,4 @@ def test_error_dictionary(test_dir_error): def test_no_dtd(): with raises(IOError): - eolobj = objspace.CreoleObjSpace('notexists.dtd') + eolobj = objspace.RougailObjSpace('notexists.dtd')