Я начал играть с aptdaemon
на Ubuntu 13.10 недавно, и я экранирован. Вызов моделирует () на транзакции, не обновляет список зависимостей. Отладка от aptd
шоу, что несколько событий испускаются, включая событие PropertyChanged для Зависимостей, но мой обработчик не называют. Вот некоторый код, который демонстрирует проблему:
import aptdaemon.client
def printcall(*args, **kwargs):
print("call(*%r, **%r)" % (args, kwargs))
client = aptdaemon.client.AptClient()
# I have make installed, but not abiword.
txn = client.install_packages(["make", "abiword"])
txn.connect("dependencies-changed", printcall)
txn.simulate()
print(txn.dependencies)
print(txn.packages)
Для меня это печатает пустой список зависимостей (на самом деле, единственный список, содержащий 6 пустых списков), тогда как выполнение apt-get install abiword
от командной строки придумывает несколько зависимостей. Кроме того, dependencies-changed
событие никогда не запускается:
dbus.Struct((dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s'))), signature=None, variant_level=1)
dbus.Struct((dbus.Array([dbus.String(u'make'), dbus.String(u'abiword')], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s'))), signature=None, variant_level=1)
Действительно ли это - ошибка, или я пропускаю что-то (как цикл событий)?