Add support for PTR templates
It should be possible to create PTR template where placeholders are put into brackets {{ … }}:
<block ref="OBS">
<startTime> {{ start_time }} </startTime>
<enTime> {{ end_time }} </endTime>
<attitude ref="track">
<boresight ref="SC_Zaxis"/>
<target> {{ target_name }} </target>
</attitude>
</block>
and convert it into a custom element template:
>>> template_obs = read_ptr('template_obs.ptx')
>>> help(template_obs)
TemplateElement(start_time, end_time, target_name)
>>> template_obs(start_time='2030-10-31T03:40:00', end_time='2030-10-31T04:15:00', target_name='Callisto')
<block ref="OBS">
<startTime> 2030-10-31T03:40:00 </startTime>
<enTime> 2030-10-31T04:15:00 </endTime>
<attitude ref="track">
<boresight ref="SC_Zaxis"/>
<target> Callisto </target>
</attitude>
</block>
If one element is missing, it should generate a new template:
>>> template_obs(end_time='2030-10-31T04:15:00', start_time='2030-10-31T03:40:00') # order does not matter
<block ref="OBS">
<startTime> 2030-10-31T03:40:00 </startTime>
<enTime> 2030-10-31T04:15:00 </endTime>
<attitude ref="track">
<boresight ref="SC_Zaxis"/>
<target> {{ target_name }} </target>
</attitude>
</block>
Optional:
- support for value format
{{ variable:.1f }}.
/cc @nmanaud