diff options
Diffstat (limited to 'apt')
| -rw-r--r-- | apt/cdrom.py | 1 | ||||
| -rw-r--r-- | apt/package.py | 22 |
2 files changed, 15 insertions, 8 deletions
diff --git a/apt/cdrom.py b/apt/cdrom.py index 8d73339c..9d4b62cb 100644 --- a/apt/cdrom.py +++ b/apt/cdrom.py @@ -1,4 +1,3 @@ - import apt_pkg from progress import CdromProgress diff --git a/apt/package.py b/apt/package.py index 6644e139..b82f1aa0 100644 --- a/apt/package.py +++ b/apt/package.py @@ -24,6 +24,10 @@ import sys import random import string +#from gettext import gettext as _ +import gettext +def _(s): return gettext.dgettext("python-apt", s) + class BaseDependency(object): " a single dependency " def __init__(self, name, rel, ver, pre): @@ -216,10 +220,11 @@ class Package(object): self._records.Lookup(desc_iter.FileList.pop(0)) desc = "" try: - tmp = unicode(self._records.LongDesc) - except UnicodeDecodeError: - tmp = "Invalid unicode in description" - for line in string.split(tmp, "\n"): + s = unicode(self._records.LongDesc,"utf-8") + except UnicodeDecodeError,e: + s = _("Invalid unicode in description for '%s' (%s). " + "Please report.") % (self.name,e) + for line in string.split(s,"\n"): tmp = string.strip(line) if tmp == ".": desc += "\n" @@ -352,10 +357,13 @@ class Package(object): self._pcache.cachePreChange() self._depcache.MarkKeep(self._pkg) self._pcache.cachePostChange() - def markDelete(self, autoFix=True): - """ mark a package for delete. Run the resolver if autoFix is set """ + def markDelete(self, autoFix=True, purge=False): + """ mark a package for delete. Run the resolver if autoFix is set. + Mark the package as purge (remove with configuration) if 'purge' + is set. + """ self._pcache.cachePreChange() - self._depcache.MarkDelete(self._pkg) + self._depcache.MarkDelete(self._pkg, purge) # try to fix broken stuffsta if autoFix and self._depcache.BrokenCount > 0: Fix = apt_pkg.GetPkgProblemResolver(self._depcache) |
