|
3 | 3 | import sys |
4 | 4 | sys.path.append('.') |
5 | 5 | import paramiko |
6 | | -from jinja2 import FileSystemLoader |
| 6 | +from jinja2 import FileSystemLoader,BaseLoader |
7 | 7 | import backend_utils as u |
8 | 8 | import jinja2 |
9 | 9 |
|
@@ -38,26 +38,28 @@ def exec_cmd(command): |
38 | 38 |
|
39 | 39 | def compose_dn(entity): |
40 | 40 | """Compose the DN of a identity""" |
| 41 | + data = { |
| 42 | + 'e': u.make_entry_array(entity), |
| 43 | + 'config': u.get_config() |
| 44 | + } |
| 45 | + |
41 | 46 | rdnValue=u.find_key(entity,'cn') |
42 | 47 | x=type(rdnValue) |
43 | 48 | if rdnValue is None: |
44 | 49 | rdnValue='test' |
45 | 50 | branchAttr=u.config('branchAttr','') |
46 | | - branch = '' |
| 51 | + data['rdnValue']=rdnValue |
47 | 52 | if branchAttr != '': |
48 | 53 | branchValue=u.find_key(entity,branchAttr) |
49 | | - |
50 | | - match branchValue: |
51 | | - case 'etd': |
52 | | - branch=u.config('branchForEtd','') |
53 | | - case 'esn': |
54 | | - branch = u.config('branchForEsn', '') |
55 | | - case 'adm': |
56 | | - branch = u.config('branchForAdm', '') |
57 | | - if branch != '': |
58 | | - return 'cn=' + rdnValue+ ',' + branch + "," + u.config('base') |
| 54 | + key_branch='branchFor' + branchValue |
| 55 | + branch=u.config(key_branch,'') |
| 56 | + data['branch']=branch |
| 57 | + template_string = 'cn={{ rdnValue}},{{ branch }},{{ config.base }}' |
59 | 58 | else: |
60 | | - return 'cn=' + rdnValue+ "," + u.config('base') |
| 59 | + template= 'cn={{ rdnValue}},{{ config.base }}' |
| 60 | + template = jinja2.Environment(loader=jinja2.BaseLoader()).from_string(u.config('dnTemplate',template_string)) |
| 61 | + content = template.render(data) |
| 62 | + return content |
61 | 63 |
|
62 | 64 | def dn_superior(dn): |
63 | 65 | tab=dn.split(',') |
|
0 commit comments