does not work with PyGObject 3.7.2: AttributeError: 'gi.repository.GObject' object has no attribute 'GObjectMeta'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Aptdaemon |
New
|
Undecided
|
Unassigned | ||
aptdaemon (Debian) |
Fix Released
|
Unknown
|
Bug Description
aptdaemon currently does some curious hack with subclassing from GObject.
$ PYTHONPATH=
Traceback (most recent call last):
File "./gtk3-demo.py", line 37, in <module>
import aptdaemon.client
File "/home/
class MemoizedMixInMe
File "/home/
return getattr(
File "/home/
self.__name__, name))
AttributeError: 'gi.repository.
(This is also thrown by the tests).
I'm afraid I don't fully understand what MemoizedMixInMeta and MemoizedMixIn are supposed to do; it can certainly be fixed to work with current PyGObject, or preferrably with not using the "GObjectMeta" internal implementation detail in the first place; however, this class is used exactly once, so it seems easier to just move the overridden __call__() method into AptTransaction and drop the black magic?
Related branches
- Michael Vogt (community): Approve
- Martin Pitt (community): Needs Resubmitting
-
Diff: 68 lines (+13/-26)2 files modifiedaptdaemon/client.py (+11/-26)
tests/test_client.py (+2/-0)
Changed in aptdaemon (Debian): | |
status: | Unknown → Fix Released |
With the attached branch aptdaemon works with all PyGObject versions. The aptdaemon test suite shows identical behaviour (failures=4, errors=1, skipped=4; same failures) with both current aptdaemon and pygobject 3.4.2, as well as this fixed aptdaemon and pygobject 3.7.2.