dmulyalin / ttp

Template Text Parser
MIT License
351 stars 34 forks source link

python ttp parser and empty results #86

Open liposs opened 2 years ago

liposs commented 2 years ago

Here's a sample of something that works well:

Template:

<input load="text">
vlan 1234 
 name some_vlan
vlan 5678
vlan 910 
 name one_more
vlan 777
</input>

<group name="vlans.{{ vlan }}">
vlan {{ vlan }} 
 name {{ name }}
</group>

Output (all empty data are listed):

[
    {
        "vlans": {
            "777": {},
            "910": {
                "name": "one_more"
            },
            "1234": {
                "name": "some_vlan"
            },
            "5678": {}
        }
    },
    {}
]

Here's similar example with data in a single line that doesn't work as the one above:

Template:

<input load="text">
vlan 1234 name some_vlan
vlan 5678
vlan 910 name one_more
vlan 777
</input>

<group name="vlans.{{ vlan }}">
vlan {{ vlan }} name {{ name }}
</group>

Output (all empty data are omitted):

[
    {
        "vlans": {
            "910": {
                "name": "one_more"
            },
            "1234": {
                "name": "some_vlan"
            }
        }
    },
    {}
]

Why in the second example the empty data are not showing? Is there any way to make it working the second example to get the output of the first one?

Is that a bug? Any suggestions?

dmulyalin commented 1 year ago

Try using:

<input load="text">
vlan 1234 name some_vlan
vlan 5678
vlan 910 name one_more
vlan 777
</input>

<group name="vlans.{{ vlan }}">
vlan {{ vlan | _start_ }}
vlan {{ vlan | _start_ }} name {{ name }}
</group>