|
:mod:`apt.cache` --- The Cache class |
|
===================================== |
|
.. automodule:: apt.cache |
|
|
|
The Cache class |
|
--------------- |
|
|
|
.. autoclass:: Cache |
|
:members: |
|
:undoc-members: |
|
|
|
.. describe:: cache[pkgname] |
|
|
|
Return a :class:`Package()` for the package with the name *pkgname*. |
|
|
|
Example |
|
^^^^^^^ |
|
|
|
The following example shows how to load the cache, update it, and upgrade |
|
all the packages on the system:: |
|
|
|
import apt |
|
import apt.progress |
|
|
|
# First of all, open the cache |
|
cache = apt.Cache() |
|
# Now, lets update the package list |
|
cache.update() |
|
# We need to re-open the cache because it needs to read the package list |
|
cache.open(None) |
|
# Now we can do the same as 'apt-get upgrade' does |
|
cache.upgrade() |
|
# or we can play 'apt-get dist-upgrade' |
|
cache.upgrade(True) |
|
# Q: Why does nothing happen? |
|
# A: You forgot to call commit()! |
|
cache.commit(apt.progress.TextFetchProgress(), |
|
apt.progress.InstallProgress()) |
|
|
|
|
|
|
|
Working with Filters |
|
-------------------- |
|
.. autoclass:: Filter |
|
:members: |
|
:inherited-members: |
|
:undoc-members: |
|
|
|
.. autoclass:: MarkedChangesFilter |
|
:members: |
|
:inherited-members: |
|
:undoc-members: |
|
|
|
.. autoclass:: FilteredCache |
|
:members: |
|
:inherited-members: |
|
:undoc-members: |
|
|
|
|
|
Example |
|
^^^^^^^ |
|
|
|
This is an example for a filtered cache, which only allows access to the |
|
packages whose state has been changed, eg. packages marked for installation:: |
|
|
|
>>> from apt.cache import FilteredCache, Cache, MarkedChangesFilter |
|
>>> cache = apt.Cache() |
|
>>> changed = apt.FilteredCache(cache) |
|
>>> changed.set_filter(MarkedChangesFilter()) |
|
>>> print(len(changed) == len(cache.get_changes())) # Both need to have same length |
|
True |
|
|
|
The ProblemResolver class |
|
-------------------------- |
|
|
|
.. autoclass:: ProblemResolver |
|
:members: |
|
|
|
Exceptions |
|
---------- |
|
.. autoexception:: FetchCancelledException |
|
.. autoexception:: FetchFailedException |
|
.. autoexception:: LockFailedException |
|
|