ui.py

changeset 31
b4b4bb7a2ec5
parent 30
3dd525652dc8
child 32
06fc14211ba9
equal deleted inserted replaced
30:3dd525652dc8 31:b4b4bb7a2ec5
7 import datetime 7 import datetime
8 import logging 8 import logging
9 from threading import Lock, Timer 9 from threading import Lock, Timer
10 from config import settings 10 from config import settings
11 import objc 11 import objc
12
13 logger=logging.getLogger(__name__)
12 14
13 INACTIVE=0 15 INACTIVE=0
14 ACTIVE=1 16 ACTIVE=1
15 OFFLINE=2 17 OFFLINE=2
16 ERRORS=3 18 ERRORS=3
144 return menu, state 146 return menu, state
145 147
146 def refresh_ui(self): 148 def refresh_ui(self):
147 with self.lock: 149 with self.lock:
148 self.refresh_timer=None 150 self.refresh_timer=None
149 logging.debug('Rebuilding menu') 151 logger.debug('Rebuilding menu')
150 menu, active=self.__rebuild_menu() 152 menu, active=self.__rebuild_menu()
151 self.menu.clear() 153 self.menu.clear()
152 self.menu.update(menu) 154 self.menu.update(menu)
153 self.title=traynames[active] 155 self.title=traynames[active]
154 156
155 def __status_callback(self, obj, index, status, errorlog): 157 def __status_callback(self, obj, index, status, errorlog):
156 logging.debug('Status callbackup %s' % str(status)) 158 logger.debug('Status callbackup %s' % str(status))
157 159
158 with self.lock: 160 with self.lock:
159 self.statuses[index]=status 161 self.statuses[index]=status
160 if self.refresh_timer==None: 162 if self.refresh_timer==None:
161 self.refresh_timer=Timer(refresh_interval, self.refresh_ui) 163 self.refresh_timer=Timer(refresh_interval, self.refresh_ui)
165 if 'msgid' not in errorlog or not isinstance(errorlog['msgid'], str): 167 if 'msgid' not in errorlog or not isinstance(errorlog['msgid'], str):
166 msgid='UnknownError' 168 msgid='UnknownError'
167 else: 169 else:
168 msgid=errorlog['msgid'] 170 msgid=errorlog['msgid']
169 171
170 logging.debug('Opening notification for error') 172 logger.debug('Opening notification for error')
171 173
172 # Workaround to rumps brokenness 174 # Workaround to rumps brokenness
173 # See https://github.com/jaredks/rumps/issues/59 175 # See https://github.com/jaredks/rumps/issues/59
174 NSDictionary = objc.lookUpClass("NSDictionary") 176 NSDictionary = objc.lookUpClass("NSDictionary")
175 d=NSDictionary() 177 d=NSDictionary()
179 def my_quit(self, _): 181 def my_quit(self, _):
180 rumps.quit_application() 182 rumps.quit_application()
181 183
182 def __menu_select_backup(self, sender, b): 184 def __menu_select_backup(self, sender, b):
183 #sender.state=not sender.state 185 #sender.state=not sender.state
184 logging.debug("Manually backup '%s'", b.name) 186 logger.debug("Manually backup '%s'", b.name)
185 b.create(None) 187 b.create(None)
186 188
187 @rumps.notifications 189 @rumps.notifications
188 def notification_center(data): 190 def notification_center(data):
189 pass 191 pass

mercurial