summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-11-27 08:48:01 -0600
committerDan McGee <dan@archlinux.org>2012-11-27 08:48:01 -0600
commiteea25558c766d5f3a32879d16e579d051906cbf3 (patch)
treec181d2ee27722ea1afb74990dd400202f9eeb5ec
parenta732d3cebcb8ff3170502b13d01ba90ac8efe26f (diff)
downloadarchweb-eea25558c766d5f3a32879d16e579d051906cbf3.tar.gz
archweb-eea25558c766d5f3a32879d16e579d051906cbf3.zip
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 cc81637c..603d7ccc 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 aa073551..0a47217c 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>