Add new attribute "include" to "file"
This attribute have 3 values: - "no": it's a normal file - "name": the name is included in another template so it is generated before other templates - "content": the content is included in another template so it is generated before the other templates and is not installed on the server fixes #2
This commit is contained in:
21
tests/dictionaries/01base_file_include_content/00-base.xml
Normal file
21
tests/dictionaries/01base_file_include_content/00-base.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<rougail version="0.9">
|
||||
|
||||
<services>
|
||||
<service name="test">
|
||||
<file>/etc/file</file>
|
||||
<file engine="jinja2">/etc/file2</file>
|
||||
<file include="content">/etc/dir/incfile</file>
|
||||
</service>
|
||||
</services>
|
||||
|
||||
<variables>
|
||||
<family name="general">
|
||||
<variable name="mode_conteneur_actif" type="string" description="Description">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
</family>
|
||||
</variables>
|
||||
</rougail>
|
||||
<!-- vim: ts=4 sw=4 expandtab
|
||||
-->
|
@ -0,0 +1 @@
|
||||
{"rougail.general.mode_conteneur_actif": "non", "services.test.files.file.engine": "creole", "services.test.files.file.group": "root", "services.test.files.file.include": "no", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/etc/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.activate": true, "services.test.files.file2.engine": "jinja2", "services.test.files.file2.group": "root", "services.test.files.file2.include": "no", "services.test.files.file2.mode": "0644", "services.test.files.file2.name": "/etc/file2", "services.test.files.file2.owner": "root", "services.test.files.file2.source": "file2", "services.test.files.file2.activate": true, "services.test.files.incfile.engine": "creole", "services.test.files.incfile.group": "root", "services.test.files.incfile.include": "content", "services.test.files.incfile.mode": "0644", "services.test.files.incfile.name": "/etc/dir/incfile", "services.test.files.incfile.owner": "root", "services.test.files.incfile.source": "incfile", "services.test.files.incfile.activate": true}
|
@ -0,0 +1 @@
|
||||
non
|
@ -0,0 +1 @@
|
||||
non
|
@ -0,0 +1 @@
|
||||
non
|
@ -0,0 +1,4 @@
|
||||
C /etc/file 0644 root root - /usr/local/lib/etc/file
|
||||
z /etc/file - - - - -
|
||||
C /etc/file2 0644 root root - /usr/local/lib/etc/file2
|
||||
z /etc/file2 - - - - -
|
@ -0,0 +1,47 @@
|
||||
from importlib.machinery import SourceFileLoader
|
||||
from importlib.util import spec_from_loader, module_from_spec
|
||||
loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
|
||||
spec = spec_from_loader(loader.name, loader)
|
||||
func = module_from_spec(spec)
|
||||
loader.exec_module(func)
|
||||
for key, value in dict(locals()).items():
|
||||
if key != ['SourceFileLoader', 'func']:
|
||||
setattr(func, key, value)
|
||||
try:
|
||||
from tiramisu3 import *
|
||||
except:
|
||||
from tiramisu import *
|
||||
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
|
||||
option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
|
||||
option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
|
||||
option_8 = StrOption(name="engine", doc="engine", default="creole")
|
||||
option_9 = StrOption(name="group", doc="group", default="root")
|
||||
option_10 = StrOption(name="include", doc="include", default="no")
|
||||
option_11 = StrOption(name="mode", doc="mode", default="0644")
|
||||
option_12 = FilenameOption(name="name", doc="name", default="/etc/file")
|
||||
option_13 = StrOption(name="owner", doc="owner", default="root")
|
||||
option_14 = StrOption(name="source", doc="source", default="file")
|
||||
option_15 = BoolOption(name="activate", doc="activate", default=True)
|
||||
option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14, option_15])
|
||||
option_17 = StrOption(name="engine", doc="engine", default="jinja2")
|
||||
option_18 = StrOption(name="group", doc="group", default="root")
|
||||
option_19 = StrOption(name="include", doc="include", default="no")
|
||||
option_20 = StrOption(name="mode", doc="mode", default="0644")
|
||||
option_21 = FilenameOption(name="name", doc="name", default="/etc/file2")
|
||||
option_22 = StrOption(name="owner", doc="owner", default="root")
|
||||
option_23 = StrOption(name="source", doc="source", default="file2")
|
||||
option_24 = BoolOption(name="activate", doc="activate", default=True)
|
||||
option_16 = OptionDescription(name="file2", doc="file2", children=[option_17, option_18, option_19, option_20, option_21, option_22, option_23, option_24])
|
||||
option_26 = StrOption(name="engine", doc="engine", default="creole")
|
||||
option_27 = StrOption(name="group", doc="group", default="root")
|
||||
option_28 = StrOption(name="include", doc="include", default="content")
|
||||
option_29 = StrOption(name="mode", doc="mode", default="0644")
|
||||
option_30 = FilenameOption(name="name", doc="name", default="/etc/dir/incfile")
|
||||
option_31 = StrOption(name="owner", doc="owner", default="root")
|
||||
option_32 = StrOption(name="source", doc="source", default="incfile")
|
||||
option_33 = BoolOption(name="activate", doc="activate", default=True)
|
||||
option_25 = OptionDescription(name="incfile", doc="incfile", children=[option_26, option_27, option_28, option_29, option_30, option_31, option_32, option_33])
|
||||
option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_16, option_25])
|
||||
option_5 = OptionDescription(name="test", doc="test", children=[option_6])
|
||||
option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
|
||||
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
|
7
tests/dictionaries/01base_file_include_content/tmpl/file
Normal file
7
tests/dictionaries/01base_file_include_content/tmpl/file
Normal file
@ -0,0 +1,7 @@
|
||||
%import os
|
||||
%set %%confdir = %%rougail_destination_dir + '/etc/dir/'
|
||||
%set %%files = %%os.listdir(%%confdir)
|
||||
%%files.sort()%slurp
|
||||
%for file in %%files
|
||||
%include raw %%confdir + file
|
||||
%end for
|
@ -0,0 +1 @@
|
||||
{% include "/etc/dir/incfile" %}
|
@ -0,0 +1 @@
|
||||
%%mode_conteneur_actif
|
Reference in New Issue
Block a user