summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-11-27 15:48:01 +0100
committerDan McGee <dan@archlinux.org>2012-11-27 15:48:01 +0100
commiteea25558c766d5f3a32879d16e579d051906cbf3 (patch)
treec181d2ee27722ea1afb74990dd400202f9eeb5ec
parenta732d3cebcb8ff3170502b13d01ba90ac8efe26f (diff)
downloadarchweb-eea25558c766d5f3a32879d16e579d051906cbf3.tar.gz
archweb-eea25558c766d5f3a32879d16e579d051906cbf3.tar.xz
Don't cache package properties as aggressively
For package signatures, it turns out it is way cheaper to just parse the signature again rather than going though all the decorator and cache_function_key business. This speeds up the mismatched signatures report significantly once this is removed. For base_package, given that we only call it once from our package details template, it makes little sense to cache the result. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--main/models.py3
-rw-r--r--templates/packages/details.html6
2 files changed, 3 insertions, 6 deletions
diff --git a/main/models.py b/main/models.py
index cc81637..603d7cc 100644
--- a/main/models.py
+++ b/main/models.py
@@ -141,7 +141,6 @@ class Package(models.Model):
return '%s://%s%s' % (proto, domain, self.get_absolute_url())
@property
- @cache_function(15)
def signature(self):
try:
data = b64decode(self.pgp_signature)
@@ -154,7 +153,6 @@ class Package(models.Model):
return packets[0]
@property
- @cache_function(15)
def signer(self):
sig = self.signature
if sig and sig.key_id:
@@ -318,7 +316,6 @@ class Package(models.Model):
new_pkgs.append(package)
return new_pkgs
- @cache_function(125)
def base_package(self):
"""
Locate the base package for this package. It may be this very package,
diff --git a/templates/packages/details.html b/templates/packages/details.html
index aa07355..0a47217 100644
--- a/templates/packages/details.html
+++ b/templates/packages/details.html
@@ -103,12 +103,12 @@
{% else %}
<tr>
<th>Base Package:</th>
- {% if pkg.base_package %}
- <td>{% pkg_details_link pkg.base_package %}</td>
+ {% with pkg.base_package as base %}{% if base %}
+ <td>{% pkg_details_link base %}</td>
{% else %}
<td><a href="../{{ pkg.pkgbase }}/"
title="Split package details for {{ pkg.pkgbase }}">{{ pkg.pkgbase }}</a></td>
- {% endif %}
+ {% endif %}{% endwith %}
</tr>
{% endifequal %}
<tr>