Deduplicate downloads list backend

This commit is contained in:
str4d
2015-10-14 14:19:38 +00:00
parent 728fb0071b
commit 0315a711f8
2 changed files with 115 additions and 142 deletions

View File

@@ -1,10 +1,6 @@
{% extends "global/layout.html" %} {% extends "global/layout.html" %}
{%- from "downloads/macros" import package, package_outer with context -%}
{% block title %}{{ _('Download') }}{% endblock %} {% block title %}{{ _('Download') }}{% endblock %}
{% set i2pinstall_windows_hash = '3f59e4604531c07b39c6564712b45660a836f0ed7fc52c2a2602320e2da0d591' %}
{% set i2pinstall_jar_hash = 'ee5297b2746e324c9ca33b19513ff09b50724ae3b9f588e4ccc31fc389ce50aa' %}
{% set i2psource_hash = '91ac91f7a3e202d248f5294f4951f6b7d8b9bde32991adf7a813ae1bb9188898' %}
{% set i2pupdate_hash = '33d969e859c772ba7def142ab0ebbe0c2e8ec52a832bbe31141eaad0eaf556d3' %}
{% set i2p_android_hash = 'b14e3cc5ea12eb2e8bccb81dd2e86eeea3baba6695eb1a9f4d9053e76aeb131d' %}
{% block content %} {% block content %}
<h3>{{ _('Dependency') }}</h3> <h3>{{ _('Dependency') }}</h3>
<p>{% trans java='http://java.com/download/', <p>{% trans java='http://java.com/download/',
@@ -43,44 +39,13 @@ or type <tt>java -version</tt> at your command prompt.
<h3>{{ _('Clean installs') }}</h3> <h3>{{ _('Clean installs') }}</h3>
<div class="downloadlist"> <div class="downloadlist">
<div class="package" id="windows"> {% call package('windows') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/windows.png') }}" alt="Windows" title="Windows" />
</div>
<div class="details">
<div class="file">
<a class="default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s_windows.exe')) }}">
<span class="name">i2pinstall_{{ ver() }}_windows.exe</span><br />
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=ver(), file=ver('i2pinstall_%s_windows.exe')) }}">{{ _('select alternate mirror') }}</a><!--
--><a class="sig" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s_windows.exe.sig')) }}">sig</a>
</div>
<div class="hash">
<code>{{ i2pinstall_windows_hash }}</code>
</div>
<p>{% trans -%} <p>{% trans -%}
Download that file and run it. Download that file and run it.
{%- endtrans %}</p> {%- endtrans %}</p>
</div> {% endcall %}
</div>
<div class="package" id="mac"> {% call package('mac') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/mac-osx.png') }}" alt="Mac OS X" title="Mac OS X" />
</div>
<div class="details">
<div class="file">
<a class="default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar')) }}">
<span class="name">i2pinstall_{{ ver() }}.jar</span><br />
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=ver(), file=ver('i2pinstall_%s.jar')) }}">{{ _('select alternate mirror') }}</a><!--
--><a class="sig" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar.sig')) }}">sig</a>
</div>
<div class="hash">
<code>{{ i2pinstall_jar_hash }}</code>
</div>
<p>{% trans i2pversion=ver() -%} <p>{% trans i2pversion=ver() -%}
Download that file and double-click it (if that works) or Download that file and double-click it (if that works) or
type <code>java -jar i2pinstall_{{ i2pversion }}.jar</code> in a terminal to run the type <code>java -jar i2pinstall_{{ i2pversion }}.jar</code> in a terminal to run the
@@ -94,25 +59,9 @@ or type <tt>java -version</tt> at your command prompt.
Download the {{ i2pversion }} OSX graphical installer file above and Download the {{ i2pversion }} OSX graphical installer file above and
run <code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> from the command line. run <code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> from the command line.
{%- endtrans %} {%- endtrans %}
</div> {% endcall %}
</div>
<div class="package" id="*nix"> {% call package('unix') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/freebsd-tux.png') }}" alt="GNU/Linux / BSD / Solaris" title="GNU/Linux / BSD / Solaris" />
</div>
<div class="details">
<div class="file">
<a class="default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar')) }}">
<span class="name">i2pinstall_{{ ver() }}.jar</span><br />
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=ver(), file=ver('i2pinstall_%s.jar')) }}">{{ _('select alternate mirror') }}</a><!--
--><a class="sig" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar.sig')) }}">sig</a>
</div>
<div class="hash">
<code>{{ i2pinstall_jar_hash }}</code>
</div>
<p>{% trans i2pversion=ver() -%} <p>{% trans i2pversion=ver() -%}
Download that file and double-click it (if that works) or Download that file and double-click it (if that works) or
type <code>java -jar i2pinstall_{{ i2pversion }}.jar</code> in a terminal to run the type <code>java -jar i2pinstall_{{ i2pversion }}.jar</code> in a terminal to run the
@@ -126,51 +75,15 @@ or type <tt>java -version</tt> at your command prompt.
Download the graphical installer file above and Download the graphical installer file above and
run <code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> from the command line. run <code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> from the command line.
{%- endtrans %} {%- endtrans %}
</div> {% endcall %}
</div>
<div class="package" id="deb"> {% call package_outer('deb', 'Debian / Ubuntu', 'images/download/debian-ubuntu.png') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/debian-ubuntu.png') }}" alt="Debian / Ubuntu" title="Debian / Ubuntu" />
</div>
<div class="details">
<div class="file"> <div class="file">
<a class="default" href="{{ get_url('downloads_debian') }}">{% trans %}Packages for Debian &amp; Ubuntu are available.{% endtrans %}</a> <a class="default" href="{{ get_url('downloads_debian') }}">{% trans %}Packages for Debian &amp; Ubuntu are available.{% endtrans %}</a>
</div> </div>
</div> {% endcall %}
</div>
<div class="package" id="android"> {% call package('android') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/android.png') }}" alt="Android" title="Android" />
</div>
<div class="details">
<div class="file">
{% trans %}Outside I2P{% endtrans %}:
<!-- do not use url_for here -->
<a class="default" href="https://download.i2p2.de/android/current/i2p.apk">I2P-0.9.22</a>
<br>
{% trans %}Inside I2P{% endtrans %}:
<!-- do not use i2pconv here -->
<a class="default" href="http://update.killyourtv.i2p/i2p.apk">I2P-0.9.22</a>
<br>
Google Play:
<a class="default" href="https://play.google.com/store/apps/details?id=net.i2p.android">I2P-0.9.22</a>
<br>
{% trans %}Our F-Droid repository{% endtrans %}:
<a class="default" href="https://f-droid.i2p.io/">I2P-0.9.22</a>
<br>
F-Droid:
<a class="default" href="https://f-droid.org/app/net.i2p.android.router">I2P-0.9.19</a>
<br>
{% trans %}Development Builds{% endtrans %}:
{% trans str4durl='http://'+i2pconv('str4d.i2p')+'/android/' -%}
<a class="default" href="{{ str4durl }}">str4d's eepsite</a>
{%- endtrans %}
</div>
<div class="hash">
<code>{{ i2p_android_hash }}</code>
</div>
<p>&nbsp;</p> <p>&nbsp;</p>
<div class="warning"> <div class="warning">
{% trans -%} {% trans -%}
@@ -186,25 +99,9 @@ or type <tt>java -version</tt> at your command prompt.
the other. the other.
{%- endtrans %} {%- endtrans %}
</div> </div>
</div> {% endcall %}
</div>
<div class="package" id="source"> {% call package('source') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/source.png') }}" alt="{{ _('Source package') }}" title="{{ _('Source package') }}" />
</div>
<div class="details">
<div class="file">
<a class="default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2psource_%s.tar.bz2')) }}">
<span class="name">i2psource_{{ ver() }}.tar.bz2</span><br />
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=ver(), file=ver('i2psource_%s.tar.bz2')) }}">{{ _('select alternate mirror') }}</a><!--
--><a class="sig" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2psource_%s.tar.bz2.sig')) }}">sig</a>
</div>
<div class="hash">
<code>{{ i2psource_hash }}</code>
</div>
<p>{% trans monotoneurl=site_url('get-involved/guides/new-developers'), <p>{% trans monotoneurl=site_url('get-involved/guides/new-developers'),
gitrepo='http://'+i2pconv('git.repo.i2p')+'/w/i2p.i2p.git', gitrepo='http://'+i2pconv('git.repo.i2p')+'/w/i2p.i2p.git',
github='https://github.com/i2p/i2p.i2p', github='https://github.com/i2p/i2p.i2p',
@@ -222,8 +119,7 @@ or type <tt>java -version</tt> at your command prompt.
Android builds require the I2P source. Android builds require the I2P source.
See the documentation in the Android source for additional build requirements and instructions. See the documentation in the Android source for additional build requirements and instructions.
{%- endtrans %}</p> {%- endtrans %}</p>
</div> {% endcall %}
</div>
</div> </div>
@@ -241,11 +137,7 @@ The files are signed by zzz,
Both automatic and manual upgrades are available for the release. Both automatic and manual upgrades are available for the release.
{%- endtrans %}</p> {%- endtrans %}</p>
<div class="package"> {% call package_outer('auto', _('Automatic updates'), 'images/download/update-auto.png') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/update-auto.png') }}" alt="{{ _('Automatic updates') }}" title="{{ _('Automatic updates') }}" />
</div>
<div class="details">
<p>{% trans -%} <p>{% trans -%}
If you are running 0.7.5 or later, your router should detect the If you are running 0.7.5 or later, your router should detect the
new release. To upgrade simply click the 'Download Update' button on your router console new release. To upgrade simply click the 'Download Update' button on your router console
@@ -291,25 +183,9 @@ receive the release.
</li> </li>
</ol> </ol>
</div> </div>
</div> {% endcall %}
</div>
<div class="package" id="update"> {% call package('update') %}
<div class="os">
<img src="{{ url_for('static', filename='images/download/update-manual.png') }}" alt="{{ _('Manual updates') }}" title="{{ _('Manual updates') }}" />
</div>
<div class="details">
<div class="file">
<a class="default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pupdate_%s.zip')) }}">
<span class="name">i2pupdate_{{ ver() }}.zip</span><br />
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=ver(), file=ver('i2pupdate_%s.zip')) }}">{{ _('select alternate mirror') }}</a><!--
--><a class="sig" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pupdate_%s.zip.sig')) }}">sig</a>
</div>
<div class="hash">
<code>{{ i2pupdate_hash }}</code>
</div>
<ol> <ol>
<li> <li>
{% trans -%} {% trans -%}
@@ -331,8 +207,7 @@ receive the release.
{%- endtrans %} {%- endtrans %}
</li> </li>
</ol> </ol>
</div> {% endcall %}
</div>
{% trans signingkey=site_url('get-involved/develop/release-signing-key') -%} {% trans signingkey=site_url('get-involved/develop/release-signing-key') -%}
The file is signed by zzz, The file is signed by zzz,

View File

@@ -0,0 +1,98 @@
{% set i2pinstall_windows_hash = '3f59e4604531c07b39c6564712b45660a836f0ed7fc52c2a2602320e2da0d591' %}
{% set i2pinstall_jar_hash = 'ee5297b2746e324c9ca33b19513ff09b50724ae3b9f588e4ccc31fc389ce50aa' %}
{% set i2psource_hash = '91ac91f7a3e202d248f5294f4951f6b7d8b9bde32991adf7a813ae1bb9188898' %}
{% set i2pupdate_hash = '33d969e859c772ba7def142ab0ebbe0c2e8ec52a832bbe31141eaad0eaf556d3' %}
{% set i2p_android_hash = 'b14e3cc5ea12eb2e8bccb81dd2e86eeea3baba6695eb1a9f4d9053e76aeb131d' %}
{% set i2p_android_version = '0.9.22' %}
{% set i2p_android_version_kytv = '0.9.22' %}
{% set i2p_android_version_fdroid = '0.9.19' %}
{% macro package_outer(type, name, icon) -%}
<div class="package" id="{{ type }}">
<div class="os">
<img src="{{ url_for('static', filename=icon) }}" alt="{{ name }}" title="{{ name }}" />
</div>
<div class="details">
{{ caller() }}
</div>
</div>
{%- endmacro %}
{% macro package(type) -%}
{%- if type == 'windows' -%}
{%- set name = 'Windows' -%}
{%- set icon = 'images/download/windows.png' -%}
{%- set filename = 'i2pinstall_%s_windows.exe' -%}
{%- set signame = 'i2pinstall_%s_windows.exe.sig' -%}
{%- set hash = i2pinstall_windows_hash -%}
{%- elif type == 'android' -%}
{%- set name = 'Android' -%}
{%- set icon = 'images/download/android.png' -%}
{%- set hash = i2p_android_hash -%}
{%- elif type == 'source' -%}
{%- set name = _('Source package') -%}
{%- set icon = 'images/download/source.png' -%}
{%- set filename = 'i2psource_%s.tar.bz2' -%}
{%- set signame = 'i2psource_%s.tar.bz2.sig' -%}
{%- set hash = i2psource_hash -%}
{%- elif type == 'update' -%}
{%- set name = _('Manual updates') -%}
{%- set icon = 'images/download/update-manual.png' -%}
{%- set filename = 'i2pupdate_%s.zip' -%}
{%- set signame = 'i2pupdate_%s.zip.sig' -%}
{%- set hash = i2pupdate_hash -%}
{%- else -%}
{%- if type == 'mac' -%}
{%- set name = 'Mac OS X' -%}
{%- set icon = 'images/download/mac-osx.png' -%}
{%- elif type == 'unix' -%}
{%- set name = 'GNU/Linux / BSD / Solaris' -%}
{%- set icon = 'images/download/freebsd-tux.png' -%}
{%- endif -%}
{%- set filename = 'i2pinstall_%s.jar' -%}
{%- set signame = 'i2pinstall_%s.jar.sig' -%}
{%- set hash = i2pinstall_jar_hash -%}
{%- endif -%}
{%- set details = caller() -%}
{% call package_outer(type, name, icon) %}
<div class="file">
{%- if type == 'android' %}
{% trans %}Outside I2P{% endtrans %}:
<!-- do not use url_for here -->
<a class="default" href="https://download.i2p2.de/android/current/i2p.apk">I2P {{ i2p_android_version }}</a>
<br>
{% trans %}Inside I2P{% endtrans %}:
<!-- do not use i2pconv here -->
<a class="default" href="http://update.killyourtv.i2p/i2p.apk">I2P {{ i2p_android_version_kytv }}</a>
<br>
Google Play:
<a class="default" href="https://play.google.com/store/apps/details?id=net.i2p.android">I2P {{ i2p_android_version }}</a>
<br>
{% trans %}Our F-Droid repository{% endtrans %}:
<a class="default" href="https://f-droid.i2p.io/">I2P {{ i2p_android_version }}</a>
<br>
F-Droid:
<a class="default" href="https://f-droid.org/app/net.i2p.android.router">I2P {{ i2p_android_version_fdroid }}</a>
<br>
{% trans %}Development Builds{% endtrans %}:
{% trans str4durl='http://'+i2pconv('str4d.i2p')+'/android/' -%}
<a class="default" href="{{ str4durl }}">str4d's eepsite</a>
{%- endtrans %}
{% else %}
<a class="default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver(filename)) }}">
<span class="name">{{ ver(filename) }}</span><br />
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=ver(), file=ver(filename)) }}">{{ _('select alternate mirror') }}</a>
<a class="sig" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver(signame)) }}">sig</a>
{% endif -%}
</div>
<div class="hash">
<code>{{ hash }}</code>
</div>
{{ details }}
{% endcall %}
{%- endmacro %}