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"""
_______________________________________________ Mailing list: https://launchpad.net/~keryx Post to : keryx@lists.launchpad.net Unsubscribe : https://launchpad.net/~keryx More help : https://help.launchpad.net/ListHelp