PL1
This project is archived. Its data is read-only.

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

Assignee Loading
Time tracking Loading

Provided with ❤️ by esait | 📜 Terms of Service | 📊 Live metrics | 📝 Our Documentation | 💬 Need assistance? esait.service.desk@esa.int