keryx team mailing list archive
-
keryx team
-
Mailing list archive
-
Message #00152
[Merge] lp:~mac9416/keryx/devel into lp:keryx/devel
mac9416 has proposed merging lp:~mac9416/keryx/devel into lp:keryx/devel.
Requested reviews:
Keryx Admins (keryx-admins)
Nightly merge time.
Today (I think) I perfected finding upgradeable packages.
Next on the agenda: dependency calculation. Stay tuned.
--
https://code.launchpad.net/~mac9416/keryx/devel/+merge/12854
Your team Keryx Development Team is subscribed to branch lp:keryx/devel.
=== modified file 'libkeryx/__init__.py'
--- libkeryx/__init__.py 2009-10-04 01:14:50 +0000
+++ libkeryx/__init__.py 2009-10-05 01:45:19 +0000
@@ -142,6 +142,18 @@
def OnUpgrade(self):
"""Should be overridden in definition"""
pass
+
+
+ def Dependencies(self, packages):
+ """Return a list of depends/recommends/suggests of packages"""
+ if not self.Exists():
+ raise AttributeError, "Project does not exist"
+ self.OnDependencies(packages)
+
+
+ def OnDependencies(self, packages):
+ """Should be overridden in definition"""
+ pass
def Download(self, packages):
=== modified file 'libkeryx/definitions/dpkg/__init__.py'
--- libkeryx/definitions/dpkg/__init__.py 2009-10-04 01:39:54 +0000
+++ libkeryx/definitions/dpkg/__init__.py 2009-10-05 01:45:19 +0000
@@ -23,6 +23,7 @@
from sqlalchemy import *
from sqlalchemy.orm import mapper, sessionmaker
from minideblib import AptRepoClient
+from minideblib.DpkgVersion import DpkgVersion
class dpkg(Definition):
@@ -194,17 +195,24 @@
def OnUpgrade(self):
"""Upgrade out-of-date packages"""
- self.apt_client.get_available_binaries()
status = self.session.query(Status). \
- filter(Project.name==self.project).all()
+ filter(Status.proj_id==self.project_entry.id).all()
upgrade = []
for pkg in status:
best_ver = self.apt_client.get_best_binary_version(pkg.name)[1]
- if not best_ver == pkg.version:
+ if best_ver == None:
+ print "%s will not be upgraded" % (pkg.name)
+ elif DpkgVersion(best_ver) > DpkgVersion(pkg.version):
upgrade.append(pkg.name)
+ #TODO: Add PPA support to minideblib so this will not be necessary.
print "%i upgradeable packages" % (len(upgrade))
self.Download(upgrade)
+
+ def OnDependencies(self, packages):
+ """Return a list of depends/recommends/suggests of packages"""
+ print "Dependency Calculatio: coming soon to a town near you."
+
def OnDownload(self, packages):
"""Download packages and their dependencies"""
Follow ups