/ src / bitmessagekivy / uikivysignaler.py
uikivysignaler.py
 1  """
 2      UI Singnaler for kivy interface
 3  """
 4  
 5  import logging
 6  
 7  from threading import Thread
 8  from kivy.app import App
 9  
10  from pybitmessage import queues
11  from pybitmessage import state
12  
13  from pybitmessage.bitmessagekivy.baseclass.common import kivy_state_variables
14  
15  logger = logging.getLogger('default')
16  
17  
18  class UIkivySignaler(Thread):
19      """Kivy ui signaler"""
20  
21      def __init__(self, *args, **kwargs):
22          super(UIkivySignaler, self).__init__(*args, **kwargs)
23          self.kivy_state = kivy_state_variables()
24  
25      def run(self):
26          self.kivy_state.kivyui_ready.wait()
27          while state.shutdown == 0:
28              try:
29                  command, data = queues.UISignalQueue.get()
30                  if command == 'writeNewAddressToTable':
31                      address = data[1]
32                      App.get_running_app().identity_list.append(address)
33                  elif command == 'updateSentItemStatusByAckdata':
34                      App.get_running_app().status_dispatching(data)
35                  elif command == 'writeNewpaymentAddressToTable':
36                      pass
37              except Exception as e:
38                  logger.debug(e)