Files @ e899769da849
Branch filter:

Location: FVDE/ennstatus/ennstatus/templates/status/macros.html

Dennis Fink
Link the server_name of servers in the bridge program to the bridgeprogram page
{% macro colorize_status(status) %}
  {% if status == "Online" %}
    {% set color = "text-success" %}
  {% elif status == "Unknown" %}
    {% set color = "text-warning" %}
  {% else %}
    {% set color = "text-danger" %}
  {% endif %}
  <p class={{ color }}>{{ status }}</p>
{% endmacro %}

{% macro colorize_obfs(obfs) %}
  {% if obfs %}
    {% set color = "text-success" %}
  {% else %}
    {% set color = "text-danger" %}
  {% endif %}
  <p class={{ color }}>{{ obfs }}</p>
{% endmacro %}

{% macro create_country(country) %}
  {% set country_class = "flag-" + country|lower|replace(' ', '-') %}
  <i class={{ country_class }}></i> {{ country|title }}
{% endmacro %}

{% macro create_fingerprint(fingerprint, server_type) %}
  {% if server_type in ('Exit', 'Relay') %}
    {% set url_type = 'relay' %}
  {% else %}
    {% set url_type = 'bridge' %}
  {% endif %}
  <a href="http://globe.enn.lu/#/{{ url_type }}/{{ fingerprint }}">{{ fingerprint|upper}}</a>
{% endmacro %}

{% macro create_name(name) %}
  <a href="http://{{ name|lower }}.enn.lu">{{ name }}</a>
{% endmacro %}

{% macro create_server_table(server_type, servers) %}
  {% if server_type in ('Exit', 'Relay') %}
    {% set headers = ('#', 'Name', 'IP', 'Server Status', 'Tor Status', 'Country', 'Fingerprint', 'Last Updated (UTC)') %}
  {% else %}
    {% set headers = ('#', 'Name', 'Server Status', 'Tor Status', 'Country', 'Fingerprint', 'OBFS', 'FTEProxy', 'Flashproxy', 'meek', 'Last Updated (UTC)') %}
  {% endif %}
  <h2>{{ server_type }}</h2>
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
        {% for name in headers %}
          <th>{{ name }}</th>
        {% endfor %}
      </tr>
    </thead>
    <tbody>
      {% for server in servers %}
      <tr {% if server['server_name'] in config['ENNSTATUS_BRIDGE_PROGRAM'] %}class="info"{% endif %}>
          <td>{{ loop.index }}</td>
          {% if server_type in ('Exit', 'Relay') %}
            <td>{{ create_name(server['server_name']) }}</td>
            <td>{{ server['ip'] }}</td>
          {% else %}
            {% if server['server_name'] in config['ENNSTATUS_BRIDGE_PROGRAM'] %}
              <td><a href="{{ url_for('root.bridgeprogram') }}">{{ server['server_name'] }}</a></td>
            {% else %}
              <td>{{ server['server_name'] }}</td>
            {% endif %}
          {% endif %}
          {% for status in (server['server_status'], server['tor_status']) %}
            <td>{{ colorize_status(status) }}</td>
          {% endfor %}
          <td>{{ create_country(server['country']) }}</td>
          <td>{{ create_fingerprint(server['fingerprint'], server['server_type']) }}</td>
          {% if server_type == 'Bridge' %}
            <td>{{ colorize_obfs(server['obfs']) }}</td>
            <td>{{ colorize_obfs(server['fteproxy']) }}</td>
            <td>{{ colorize_obfs(server['flashproxy']) }}</td>
            <td>{{ colorize_obfs(server['meek']) }}</td>
          {% endif %}
          <td>{{ server['last_updated'] }}</td>
        </tr>
      {% endfor %}
    </tbody>
  </table>
  {% if server_type == 'Bridge' %}
    <div class="alert alert-info alert-dismissible" role="alert">
      <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
      <p>See our <a class="alert-link" href="{{ url_for('root.bridgeprogram') }}">bridge program</a>, if you want to fund some bridges!</p>
    </div>
  {% endif %}
{% endmacro %}