summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Jones <richard@mechanicalcat.net>2012-09-27 10:12:04 +1000
committerRichard Jones <richard@mechanicalcat.net>2012-09-27 10:12:04 +1000
commitbe835bad701eb0149b728a193eed7f56e6934e89 (patch)
treebc9e299ab0a0be09eca47eb97d8bcb129267474b
parentc903bfcbfa3a6f523850a393d7245a1e132d8585 (diff)
downloaddecorator-be835bad701eb0149b728a193eed7f56e6934e89.tar.gz
alter to order the releases by version, not submission date, to return the most recent release by version
-rw-r--r--store.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/store.py b/store.py
index 08aa30a..58f75fe 100644
--- a/store.py
+++ b/store.py
@@ -1013,9 +1013,12 @@ class Store:
self._Latest_Updates)
_Latest_Release = FastResultRow('''name version submitted_date! summary
- _pypi_hidden!''')
+ _pypi_hidden! _pypi_ordering!''')
def get_latest_release(self, name, hidden=None):
''' Fetch all releses for the package name, including hidden.
+
+ The "latest" version determined by ordering version numbers, not by
+ submission date.
'''
args = [name, name]
if hidden is not None:
@@ -1025,8 +1028,8 @@ class Store:
hidden = ''
cursor = self.get_cursor()
safe_execute(cursor, '''
- select r.name as name,r.version as version,j.submitted_date,
- r.summary as summary,_pypi_hidden
+ select r.name as name, r.version as version, j.submitted_date,
+ r.summary as summary, _pypi_hidden, _pypi_ordering
from journals j, releases r
where j.version is not NULL
and j.action = 'new release'
@@ -1034,7 +1037,7 @@ class Store:
and r.name = %%s
and j.version = r.version
%s
- order by submitted_date desc
+ order by _pypi_ordering desc
'''%hidden, tuple(args))
res = cursor.fetchall()
if res is None: