Example #1
0
File: gnaf.py Project: ziberna/gnaf
 def initialize_applet(self):
     # Set flags and GUI elements
     self.initializing = True
     self.log('Initializing', '...')
     self.icon = 'updating'
     self.tooltip = 'Initializing...'
     # Call applet's initialize method
     self.initialize_id = id()
     try:
         self.appletting = True
         self.success = self.initialize()
     except:
         self.success = None
         self.initialize_id = 0
         self.debug()
     finally:
         self.appletting = False
     # Determine success
     if self.success:
         self.initialized = True
         self.log('Initialization', 'DONE')
         self.update_id = id()
         thread(self.run, self.update_id)
     else:
         self.log('Initialization', 'ERROR')
         self.icon = 'error'
         self.context = []
         threadTimeout(self.interval, self.run)
     self.tooltip = None
     # Final
     self.initializing = False
Example #2
0
File: gnaf.py Project: ziberna/gnaf
 def run(self, update_id=None):
     if not self.running:
         return
     elif not self.enabled:
         threadTimeout(self.interval, self.run)
     elif not self.initialized and not self.initializing:
         self.initialize_applet()
     elif not self.updating and update_id == self.update_id:
         self.update_applet()
Example #3
0
File: gnaf.py Project: ziberna/gnaf
 def update_applet(self):
     # Set flags and GUI elements
     self.updating = True
     self.log('Updating', '...')
     self.icon = 'updating'
     self.tooltip = 'Updating...'
     # Call applet's update method
     self.update_id = id()
     try:
         self.appletting = True
         self.success = self.update()
     except:
         self.success = None
         self.update_id = 0
         self.debug()
     finally:
         self.appletting = False
     # Determine success
     if self.success == True:
         self.log('Update', 'NEW')
         self.icon = 'new'
     elif self.success == False:
         self.log('Update', 'OLD')
         self.icon = 'idle'
     else:
         self.log('Update', 'ERROR')
         self.icon = 'error'
     self.tooltip = None    
     self.context = []
     # Add next update interval
     self.update_id = id()
     threadTimeout(self.interval, self.run, self.update_id)
     # Final
     self.updating = False
     if self.success and self.settings['notify']:
         self.notify_applet()