~mvo/update-manager/not-automatic

« back to all changes in this revision

Viewing changes to UpdateManager/Core/UpdateList.py

  • Committer: Michael Vogt
  • Date: 2009-02-16 10:31:16 UTC
  • Revision ID: michael.vogt@ubuntu.com-20090216103116-2y9medz16uv97euc
refactoring, cleaner code that works UI agnostic

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
import os
25
25
import sys
26
26
 
 
27
class UpdateOrigin(object):
 
28
  def __init__(self, desc, importance):
 
29
    self.packages = []
 
30
    self.importance = importance
 
31
    self.description = desc
 
32
 
27
33
class UpdateList(object):
28
34
  """
29
35
  class that contains the list of available updates in 
30
36
  self.pkgs[origin] where origin is the user readable string
31
37
  """
32
38
 
33
 
  class UpdateOrigin:
34
 
    def __init__(self, desc, importance):
35
 
      self.packages = []
36
 
      self.importance = importance
37
 
      self.description = desc
38
 
 
39
39
  def __init__(self, parent):
40
40
    # a map of packages under their origin
41
41
    try:
64
64
      ]
65
65
      matcher = {}
66
66
      for (origin, archive, desc, importance) in matcher_templates:
67
 
          matcher[(origin, archive)] = self.UpdateOrigin(desc, importance)
68
 
      matcher[(None,None)] = self.UpdateOrigin(_("Other updates"), -1)
 
67
          matcher[(origin, archive)] = UpdateOrigin(desc, importance)
 
68
      matcher[(None,None)] = UpdateOrigin(_("Other updates"), -1)
69
69
      return matcher
70
70
 
71
71
  def update(self, cache):
74
74
    # do the upgrade
75
75
    self.distUpgradeWouldDelete = cache.saveDistUpgrade()
76
76
 
77
 
    dselect_upgrade_origin = self.UpdateOrigin(_("Previous selected"), 1)
78
 
 
79
77
    # sort by origin
80
78
    for pkg in cache:
81
 
      if pkg.isUpgradable or pkg.markedInstall:
 
79
      if (pkg.isUpgradable or
 
80
          pkg.markedInstall or
 
81
          cache.notAutomaticUpgradable(pkg)):
82
82
        if pkg.candidateOrigin == None:
83
83
            # can happen for e.g. locked packages
84
84
            # FIXME: do something more sensible here (but what?)
95
95
    for l in self.pkgs.keys():
96
96
      self.pkgs[l].sort(lambda x,y: cmp(x.name,y.name))
97
97
    self.keepcount = cache._depcache.KeepCount
98
 
 
 
98
    print self.held_back