6
from aptdaemon.client import AptClient
7
from aptdaemon.defer import inline_callbacks
8
from aptdaemon import policykit1
10
loop = gobject.MainLoop()
12
def on_finished(trans, exit):
18
repo = ["deb", "http://packages.glatzor.de/silly-packages", "sid", ["main"],
19
"Silly packages", "silly.list"]
20
aptclient = AptClient()
21
bus = dbus.SystemBus()
22
name = bus.get_unique_name()
26
action = policykit1.PK_ACTION_INSTALL_PURCHASED_PACKAGES
27
flags = policykit1.CHECK_AUTH_ALLOW_USER_INTERACTION
28
yield policykit1.check_authorization_by_name(name, action, flags=flags)
29
# Setting up transactions
30
trans_add = yield aptclient.add_repository(*repo, defer=True)
31
trans_update = yield aptclient.update_cache("silly.list", defer=True)
32
trans_inst = yield aptclient.install_packages(["silly-base"],
34
yield trans_inst.set_allow_unauthenticated(True, defer=True)
35
# Check when the last transaction was done
36
trans_inst.connect("finished", on_finished)
37
# Chaining transactions
38
yield trans_update.run_after(trans_add, defer=True)
39
yield trans_inst.run_after(trans_update, defer=True)
40
yield trans_add.run(defer=True)
41
except Exception, error:
45
if __name__ == "__main__":