Sat, 20 Jan 2018 19:57:05 +0000
Semi-working menu items.
NOTES:
Python closures suck dog's balls... first and the last program I
write in Python until somebody fixes the brain-damaged scoping
that requires word _b=b hacks etc. to get normal behaviour.
See also http://math.andrej.com/2009/04/09/pythons-lambda-is-broken/
Rumps also sucks, apparently no way to update single menu items, one
always has to rebuild the entire menu. Spent hours trying to get it to
work until giving in.
#!/usr/local/bin/python3 import logging from threading import Thread logging.basicConfig(#filename='example.log', format='%(levelname)s:%(message)s', level=logging.DEBUG) from backup import Backup from config import settings from queue import Queue from ui import BorgendTray import signal, os backupconfigs=settings['backups'] backups=[None]*len(backupconfigs); for i in range(len(backupconfigs)): logging.info('Setting up backup set %d' % i) backups[i]=Backup(i, backupconfigs[i]) backups[i].schedule() if __name__ == "__main__": #print(settings) tray=BorgendTray("Borgend", backups); tray.run() pass # # This shit is fucked, disables ^C etc., and threading doesn't seem to help # # ui_thread=Thread(target=tray.run) # ui_thread.daemon=True # ui_thread.start() # def quit_signal_handler(signum, frame): # print('Signal handler called with signal %s' % str(signum)) # ui_thread.terminate() # os.exit() # signal.signal(signal.SIGTERM, quit_signal_handler) # signal.signal(signal.SIGINT, quit_signal_handler)