Compare commits

..

No commits in common. "88f837aa078dcfab8732d8c743c0009b90c8b5b2" and "99a41bd4e56697bb64c3935d9ae0e64d360dc73e" have entirely different histories.

17 changed files with 28 additions and 169 deletions

View file

@ -1,15 +1,3 @@
## 0.1.0a3 (2025-03-27)
### Feat
- add secret_manager support
- add Namespace(Param|Calculation) support
### Fix
- do not add namespace in param
- an empty variable is []
## 0.1.0a2 (2025-03-26)
### Fix

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project]
name = "rougail.output_formatter"
version = "0.1.0a3"
version = "0.1.0a2"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md"
description = "Rougail output formatter"

View file

@ -31,7 +31,7 @@ from tiramisu import undefined
from tiramisu.config import get_common_path
from rougail.convert import RougailConvert
from rougail.object_model import Variable, Family, Calculation, JinjaCalculation, IdentifierCalculation, IdentifierPropertyCalculation, NamespaceCalculation, IdentifierParam, IndexCalculation, IndexParam, NamespaceParam, Param
from rougail.object_model import Variable, Family, Calculation, JinjaCalculation, IdentifierCalculation, IdentifierPropertyCalculation, IdentifierParam, IndexCalculation, IndexParam, Param
from rougail.utils import normalize_family
from .upgrade import RougailUpgrade
@ -240,9 +240,6 @@ class RougailOutputFormatter:
# if boolean, the default value is True
del variable["type"]
variable["default"] = True
if "default" not in variable and variable.get("multi") is True and not set(variable) - {'default', 'description', "multi"}:
variable["default"] = []
del(variable['multi'])
if not isinstance(variable.get("default"), dict) and not set(variable) - {'default', 'description'}:
# shorthand notation
default = variable.get('default')
@ -303,8 +300,6 @@ class RougailOutputFormatter:
if key == 'default' and not multi:
jinja["jinja"] = FoldedScalarString(jinja_values.replace('\n', ' '))
jinja["jinja"].fold_pos = [i for i, ltr in enumerate(jinja_values) if ltr == '\n']
elif key == 'secret_manager':
return self.object_to_yaml("params", type_, value.params, multi, object_path)
else:
jinja["jinja"] = LiteralScalarString(jinja_values)
if value.return_type:
@ -319,10 +314,8 @@ class RougailOutputFormatter:
variable = CommentedMap()
if isinstance(value, (IdentifierCalculation, IdentifierPropertyCalculation)):
variable["type"] = "identifier"
elif isinstance(value, IndexCalculation):
if isinstance(value, IndexCalculation):
variable["type"] = "index"
elif isinstance(value, NamespaceCalculation):
variable["type"] = "namespace"
for key, default in variable_attributes.items():
val = getattr(value, key)
if val != default and val is not undefined:
@ -333,17 +326,15 @@ class RougailOutputFormatter:
del variable["type"]
return variable
elif isinstance(value, Param):
param_attributes = self.get_object_informations(value, ["type", "key", "namespace"])
param_attributes = self.get_object_informations(value, ["type", "key"])
if list(param_attributes) == ['value']:
variable = value.value
else:
variable = CommentedMap()
if isinstance(value, IdentifierParam):
variable["type"] = "identifier"
elif isinstance(value, IndexParam):
if isinstance(value, IndexParam):
variable["type"] = "index"
elif isinstance(value, NamespaceParam):
variable["type"] = "namespace"
for key, default in param_attributes.items():
val = getattr(value, key)
if val != default and val is not undefined:

View file

@ -1,8 +0,0 @@
---
version: 1.1
variable:
description: a variable
default:
type: namespace
mandatory: false

View file

@ -1,12 +0,0 @@
---
version: 1.1
variable:
description: a variable
default:
jinja: >-
{{ namespace }}
params:
namespace:
type: namespace
mandatory: false

View file

@ -1,10 +0,0 @@
---
version: 1.1
condition: [] # a condition
variable:
description: a variable
multi: true
disabled:
variable: _.condition

View file

@ -1,12 +0,0 @@
---
version: 1.1
condition: # a condition
- val1
- val2
variable:
description: a variable
multi: true
disabled:
variable: _.condition

View file

@ -5,8 +5,10 @@ leader:
description: a leadership
type: leadership
leader: [] # the leader
leader:
description: the leader
multi: true
follower1: # the follower1
follower1: # the follower1
follower2: # the follower2

View file

@ -5,9 +5,13 @@ leadership:
description: A leadership
type: leadership
leader: [] # The leader
leader:
description: The leader
multi: true
follower1: [] # The first follower
follower1:
description: The first follower
multi: true
follower2: # The second follower
follower2: # The second follower
- value

View file

@ -5,7 +5,9 @@ leader:
description: a leadership
type: leadership
leader: [] # a leader
leader:
description: a leader
multi: true
follower1:
description: a follower

View file

@ -7,7 +7,9 @@ leader:
description: a leadership
type: leadership
leader: [] # a leader
leader:
description: a leader
multi: true
follower:
description: a follower

View file

@ -1,25 +0,0 @@
---
version: 1.1
var: # A suffix variable
- val.1
- val.2
dyn{{ identifier }}:
description: A dynamic family
dynamic:
variable: _.var
var1:
description: A dynamic variable
default:
type: identifier
var2:
description: A dynamic variable
default:
jinja: >-
{{ identifier }}
params:
identifier:
type: identifier

View file

@ -1,21 +0,0 @@
---
version: 1.1
var1:
description: A suffix variable
test:
- val1
multi: true
mandatory: false
dyn{{ identifier }}:
dynamic:
variable: _.var1
var: # A dynamic variable
var2:
description: A variable calculated
default:
variable: _.dynval1.var
optional: true

View file

@ -1,22 +0,0 @@
---
version: 1.1
var2:
description: A variable calculated
default:
variable: _.dynval1.var
optional: true
var1:
description: A suffix variable
test:
- val1
- val2
multi: true
mandatory: false
dyn{{ identifier }}:
dynamic:
variable: _.var1
var: # A dynamic variable

View file

@ -1,24 +0,0 @@
---
version: 1.1
var: # a suffix variable
- val1
- val2
my_dyn_family_{{ identifier }}:
description: a dynamic family
dynamic:
variable: _.var
propertyerror: false
var:
description: a variable inside a dynamic family
default:
type: identifier
mandatory: false
var2:
description: a variable
multi: true
default:
variable: _.my_dyn_family_{{ identifier }}.var

View file

@ -14,7 +14,9 @@ dyn{{ identifier }}:
description: a leadership
type: leadership
leader: [] # a leader
leader:
description: a leader
multi: true
follower1:
description: a follower1

View file

@ -18,7 +18,9 @@ dyn{{ identifier }}:
description: a leadership
type: leadership
leader: [] # a leader
leader:
description: a leader
multi: true
follower1:
description: a follower1