1from gi.repository import GObject 2from ..overrides import override 3from ..importer import modules 4 5GitgExt = modules['GitgExt']._introspection_module 6__all__ = [] 7 8class MessageBus(GitgExt.MessageBus): 9 def create(self, msgid, **kwargs): 10 tp = self.lookup(msgid) 11 12 if not tp.is_a(GitgExt.Message.__gtype__): 13 return None 14 15 kwargs['id'] = msgid 16 17 return GObject.new(tp, **kwargs) 18 19 def send(self, msgid, **kwargs): 20 msg = self.create(msgid, **kwargs) 21 self.send_message(msg) 22 23 return msg 24 25MessageBus = override(MessageBus) 26__all__.append('MessageBus') 27 28class Message(GitgExt.Message): 29 def __getattribute__(self, name): 30 try: 31 return GitgExt.Message.__getattribute__(self, name) 32 except: 33 return getattr(self.props, name) 34 35Message = override(Message) 36__all__.append('Message') 37 38# vi:ex:ts=4:et 39