borgend.py

changeset 85
56a000d15965
parent 82
4e7678dd7b42
child 87
a214d475aa28
equal deleted inserted replaced
84:b613265bd679 85:56a000d15965
71 for i in range(len(backupconfigs)): 71 for i in range(len(backupconfigs)):
72 logger.info('Setting up backup set %d' % i) 72 logger.info('Setting up backup set %d' % i)
73 b=Backup(i, backupconfigs[i], scheduler) 73 b=Backup(i, backupconfigs[i], scheduler)
74 backups.append(b) 74 backups.append(b)
75 75
76 for r in repos:
77 r.start()
78
79 for b in backups:
80 b.start()
81
82 if args.notray or platform.system()!='Darwin': 76 if args.notray or platform.system()!='Darwin':
83 # Wait for scheduler to finish 77 # Wait for scheduler to finish
84 scheduler.join() 78 run=scheduler.join
85 else: 79 else:
86 # This is needed for Ctrl+C to work. 80 # This is needed for Ctrl+C to work.
87 # TODO: proper exit handler, which seems to require 81 # TODO: proper exit handler, which seems to require
88 # ditching/forking/extending rumps to extend the NSApp class 82 # ditching/forking/extending rumps to extend the NSApp class
89 from PyObjCTools.AppHelper import installMachInterrupt 83 from PyObjCTools.AppHelper import installMachInterrupt
90 installMachInterrupt() 84 installMachInterrupt()
91 # Start UI, and let it handle exit control 85 # Start UI, and let it handle exit control
92 from borgend.ui import BorgendTray 86 from borgend.ui import BorgendTray
93 tray=BorgendTray(backups); 87 tray=BorgendTray(backups);
94 tray.run() 88 run=tray.run
89
90 for r in repos:
91 r.start()
92
93 for b in backups:
94 b.start()
95
96 run()
95 97
96 except Exception as err: 98 except Exception as err:
97 # TODO: Should write errors here to stderr; 99 # TODO: Should write errors here to stderr;
98 # perhaps add an extra stderr logger for error level messages 100 # perhaps add an extra stderr logger for error level messages
99 logger.exception("Exception fell through: exiting") 101 logger.exception("Exception fell through: exiting")

mercurial