euscan: last_version property added

Signed-off-by: volpino <fox91@anche.no>
This commit is contained in:
volpino 2012-09-22 16:08:38 +02:00
parent 04be40e8e0
commit f9f18fbce2
2 changed files with 14 additions and 2 deletions

2
TODO
View File

@ -79,8 +79,6 @@ Move log models into djeuscanhistory ?
- Url ad ManyToMany - Url ad ManyToMany
- Arches and Keyword - Arches and Keyword
- Metadata, herds, maintainers and homepage are per-version, not per package. Store it in Version instead. - Metadata, herds, maintainers and homepage are per-version, not per package. Store it in Version instead.
Define last_version that refers to the last version (can be last_version_gentoo or last_version_overlay)
Fix update_counter, to update this field.
### djportage (LOW-PRIORITY)) ### djportage (LOW-PRIORITY))

View File

@ -116,6 +116,20 @@ class Package(models.Model):
def homepages(self): def homepages(self):
return self.homepage.split(' ') return self.homepage.split(' ')
@property
def last_version(self):
from euscan.helpers import vercmp
versions = [
self.last_version_gentoo,
self.last_version_overlay,
self.last_version_upstream
]
_cmp = lambda x, y: vercmp(
unicode(self), x.version if x else "", y.version if y else ""
)
return sorted(versions, cmp=_cmp)[-1]
class Version(models.Model): class Version(models.Model):
""" """