{% extends 'series-set-layout.html' %} {% from 'macros.html' import alerter, bootstrap_icon, info_popover, visualize_series %} {% block styles %} {% endblock %} {% block menu %} {{ series_set_menu('Time series') }} {% endblock %} {% block custom_actions %} {% if series_set.origin.value == 'ui' %} Add series {% endif %} {% endblock %} {% block series_set_content %}

Add time series

Time series are found by searching for a text pattern in a given pattern key (tag key or metadata field). This pattern can occur at any position in the selected pattern key, case insensitive.

For example, with the Series name tag selected:

By using *, it is possible to search for simple patterns. *.PV searches for all series that end on .PV. 10_* searches for all series that start with 10_. 10_*.PV searches for all series that start with 10_ and end on .PV.

When the 'Structured' checkbox is enabled the pattern is a regular expression. The 10_1234\d{2}\.((PV)|(SP))$ regular expression selects all PVs and SPs that are part of 10_1234 and are themselves identified by 2 numbers (\d{2}).

{% if not new_series %} {% else %} {% endif %} {% if new_series %}
{% endif %}
{% if new_series %}

{{ new_series|count }} series found.

{% if is_structured %} {% endif %} {% for series in new_series|sort(attribute='name') %} {% endfor %}
Series name
{{ visualize_series(series) }}
{% elif pattern %}

No series found.

{% endif %}
Enter one time series name per line.
{% if validating_time_series is none or validating_time_series %} {% if existing_series|count > 0 %} {% else %} {% endif %} {% else %} {% endif %} {% if validating_time_series and existing_series|count > 0 %}
{% endif %}
{% if validating_time_series %} {% if existing_series|count > 0 %}

{{ existing_series|count }} series found.

{% for series in existing_series|sort(attribute='name') %} {% endfor %}
Series name
{{ visualize_series(series) }}
{% else %}

No series found.

{% endif %} {% endif %} {% if missing_series|count > 0 %}
Missing series {{ info_popover('Series that could not be found in the selected source.') }}
    {% for series_name in missing_series|sort %}
  • {{ series_name }}
  • {% endfor %}
{% endif %}
{{ alerter() }} {% if series_patterns %} {% if series_set.origin.value == 'ui' %}
{% endif %}
{% if series_set.origin.value == 'ui' %} {% endif %} {% for pattern in series_patterns|sort(attribute='source_name') %} {% set outer_loop = loop %} {% set ns = namespace(first_row_added=false) %} {% for pattern_key, pattern_value in pattern.tag_patterns|dictsort %} {% if loop.first and not ns.first_row_added%} {% if series_set.origin.value == 'ui' %} {% endif %} {% endif %} {% if loop.first and not ns.first_row_added %} {% set ns.first_row_added = true %} {% endif %} {% endfor %} {% for field_name, field_value in pattern.metadata_patterns|dictsort %} {% if loop.first and not ns.first_row_added%} {% if series_set.origin.value == 'ui' %} {% endif %} {% endif %} {% if loop.first and not ns.first_row_added %} {% set ns.first_row_added = true %} {% endif %} {% endfor %} {% endfor %}
Source name Name Pattern Field pattern
{{ pattern.source_name }} {{ pattern_key }} {{ pattern_value }} {{ pattern.field_pattern }}
{{ pattern.source_name }} {{ field_name }} {{ field_value }} {{ pattern.field_pattern }}
{% endif %} {% if all_series|count > 0 %} {% if individual_series|count > 0 %}
{% endif %}
{% if individual_series|count > 0 %} {% endif %} {% for series in all_series|sort(attribute='name,source') %} {% if individual_series|count > 0 %} {% endif %} {% endfor %}
Series name
{% if series in individual_series %}
{% endif %}
{{ visualize_series(series) }}
{% else %}

Series set empty.

{% endif %}
{% endblock %}