[go: nahoru, domu]

Skip to content

Commit

Permalink
Generate latest download lists based on real data
Browse files Browse the repository at this point in the history
This way it won't get outdated, but rather fail on rendering when we do
change something.

Issue #62

Signed-off-by: Michal Čihař <michal@cihar.com>
  • Loading branch information
nijel committed May 5, 2017
1 parent 07e5554 commit ab13f87
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 12 deletions.
15 changes: 15 additions & 0 deletions files/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,21 @@ def composer_type(self):
else:
return 'tar'

@property
def get_stable_url(self):
filename, ext = self.filename.rsplit('.', 1)
if ext not in ('zip', '7z'):
filename, ext2 = filename.rsplit('.', 1)
ext = '{0}.{1}'.format(ext2, ext)
variant = filename.split('-', 2)[2]
return reverse(
'latest-download',
kwargs={
'flavor': variant,
'extension': '.' + ext,
}
)

@property
def is_featured(self):
return self.filename.endswith('all-languages.zip')
Expand Down
1 change: 0 additions & 1 deletion files/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ def version_json(request):


def latest_download(request, flavor, extension, checksum=None):
print checksum
latest = Release.objects.filter(stable=True)[0]
try:
result = latest.download_set.get(
Expand Down
12 changes: 11 additions & 1 deletion pmaweb/templates/_dlrow.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
<tr {% if file.is_featured %}class="featured-dl"{% endif %}>
{% if latest %}
<td><a href="{{ file.get_stable_url }}" class="download_popup" data-sha256="{{ file.sha256 }}" data-pgp="{% if file.signed %}{{ file.get_stable_url }}.asc{% endif %}">{{ file.get_stable_url }}</a></td>
{% else %}
<td><a href="{{ file.get_absolute_url }}" class="download_popup" data-sha256="{{ file.sha256 }}" data-pgp="{{ file.get_signed_url }}">{{ file.filename }}</a></td>
{% endif %}
<td class="td-size">{{ file.size | filesizeformat }}</td>
<td>
{% if latest %}
{% if file.signed %}
[<a href="{{ file.get_stable_url }}.asc">PGP</a>]
{% endif %}
[<a href="{{ file.get_stable_url }}.sha256">SHA256</a>]
{% else %}
{% if file.signed %}
[<a href="{{ file.get_signed_url }}">PGP</a>]
{% endif %}
[<a href="{{ file.get_absolute_url }}.sha256">SHA256</a>]
{% endif %}
</td>
</tr>

3 changes: 3 additions & 0 deletions pmaweb/templates/_stable-download.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{% with latest=1 download_list=latest_release.get_downloads %}
{% include '_dltable.html' %}
{% endwith %}
10 changes: 1 addition & 9 deletions pmaweb/templates/about-website.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,7 @@ <h2 id="syndicate">Syndication</h2>

<p>You can also directly download latest version on following URLs:</p>

<ul>
<li><a href="/downloads/phpMyAdmin-latest-all-languages.tar.gz">/downloads/phpMyAdmin-latest-all-languages.tar.gz</a> [<a href="/downloads/phpMyAdmin-latest-all-languages.tar.gz.asc">PGP</a>]</li>
<li><a href="/downloads/phpMyAdmin-latest-all-languages.tar.xz">/downloads/phpMyAdmin-latest-all-languages.tar.xz</a> [<a href="/downloads/phpMyAdmin-latest-all-languages.tar.xz.asc">PGP</a>]</li>
<li><a href="/downloads/phpMyAdmin-latest-all-languages.zip">/downloads/phpMyAdmin-latest-all-languages.zip</a> [<a href="/downloads/phpMyAdmin-latest-all-languages.zip.asc">PGP</a>]</li>
<li><a href="/downloads/phpMyAdmin-latest-english.tar.gz">/downloads/phpMyAdmin-latest-english.tar.gz</a> [<a href="/downloads/phpMyAdmin-latest-english.tar.gz.asc">PGP</a>]</li>
<li><a href="/downloads/phpMyAdmin-latest-english.tar.xz">/downloads/phpMyAdmin-latest-english.tar.xz</a> [<a href="/downloads/phpMyAdmin-latest-english.tar.xz.asc">PGP</a>]</li>
<li><a href="/downloads/phpMyAdmin-latest-english.zip">/downloads/phpMyAdmin-latest-english.zip</a> [<a href="/downloads/phpMyAdmin-latest-english.zip.asc">PGP</a>]</li>
<li><a href="/downloads/phpMyAdmin-latest-source.tar.xz">/downloads/phpMyAdmin-latest-source.tar.xz</a> [<a href="/downloads/phpMyAdmin-latest-source.tar.xz.asc">PGP</a>]</li>
</ul>
{% include '_stable-download.html' %}

{% include "_verify.html" %}

Expand Down
10 changes: 10 additions & 0 deletions pmaweb/templates/downloads.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,16 @@ <h2>Development Versions</h2>
href="{% url 'develop' %}">development page</a>.
</p>

<h2>Latest Stable Version</h2>

<p>You can also directly download latest version on following URLs:</p>

{% include '_stable-download.html' %}

<p>
Please check <a href="{% url 'about-website' %}#syndicate">information other machine processable outputs</a>.
</p>

<h2>Older Releases</h2>
<p>
You can find older releases on <a href="{% url 'files' %}">separate files page</a>. You can also get them
Expand Down
4 changes: 3 additions & 1 deletion pmaweb/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -348,16 +348,18 @@
url(
r'^downloads/phpMyAdmin-latest-'
r'(?P<flavor>all-languages|english)'
r'(?P<extension>\.zip|\.tar\.gz|\.tar\.xz)'
r'(?P<extension>\.zip|\.tar\.gz|\.tar\.xz|\.7z|\.tar\.bz2)'
r'(?P<checksum>\.asc|\.sha256)?$',
latest_download,
name='latest-download'
),
url(
r'^downloads/phpMyAdmin-latest-'
r'(?P<flavor>source)'
r'(?P<extension>\.tar\.xz)'
r'(?P<checksum>\.asc|\.sha256)?$',
latest_download,
name='latest-download'
),
url(
r'^(home_page/)?version\.js$',
Expand Down

0 comments on commit ab13f87

Please sign in to comment.