| 73:4f0e9cf8f230 | 74:4f56142e7497 |
|---|---|
| 40 # | 40 # |
| 41 | 41 |
| 42 import config | 42 import config |
| 43 from scheduler import Scheduler | 43 from scheduler import Scheduler |
| 44 from fifolog import FIFOHandler | 44 from fifolog import FIFOHandler |
| 45 from repository import Repository | |
| 45 | 46 |
| 46 # | 47 # |
| 47 # Argument processing | 48 # Argument processing |
| 48 # | 49 # |
| 49 | 50 |
| 78 | 79 |
| 79 if __name__=="__main__": | 80 if __name__=="__main__": |
| 80 # Parse args. Let argparse handle errors/exit if there are any | 81 # Parse args. Let argparse handle errors/exit if there are any |
| 81 args= do_args() | 82 args= do_args() |
| 82 tray = None | 83 tray = None |
| 84 repos=[] | |
| 83 backups=[] | 85 backups=[] |
| 84 | 86 |
| 85 try: | 87 try: |
| 86 args=do_args() | 88 args=do_args() |
| 87 | 89 |
| 103 import signal, os | 105 import signal, os |
| 104 | 106 |
| 105 scheduler = Scheduler() | 107 scheduler = Scheduler() |
| 106 scheduler.start() | 108 scheduler.start() |
| 107 | 109 |
| 110 repoconfigs=config.settings['repositories'] | |
| 111 | |
| 112 for i in range(len(repoconfigs)): | |
| 113 logger.info('Setting up repository %d' % i) | |
| 114 r=Repository(i, repoconfigs[i]) | |
| 115 repos.append(r) | |
| 116 | |
| 108 backupconfigs=config.settings['backups'] | 117 backupconfigs=config.settings['backups'] |
| 109 | 118 |
| 110 for i in range(len(backupconfigs)): | 119 for i in range(len(backupconfigs)): |
| 111 logger.info('Setting up backup set %d' % i) | 120 logger.info('Setting up backup set %d' % i) |
| 112 b=Backup(i, backupconfigs[i], scheduler) | 121 b=Backup(i, backupconfigs[i], scheduler) |
| 113 backups.append(b) | 122 backups.append(b) |
| 123 | |
| 124 for r in repos: | |
| 125 r.start() | |
| 114 | 126 |
| 115 for b in backups: | 127 for b in backups: |
| 116 b.start() | 128 b.start() |
| 117 | 129 |
| 118 if args.notray or platform.system()!='Darwin': | 130 if args.notray or platform.system()!='Darwin': |
| 131 | 143 |
| 132 finally: | 144 finally: |
| 133 for b in backups: | 145 for b in backups: |
| 134 b.terminate() | 146 b.terminate() |
| 135 | 147 |
| 148 for r in repos: | |
| 149 r.terminate() | |
| 150 | |
| 136 if tray: | 151 if tray: |
| 137 tray.quit() | 152 tray.quit() |
| 138 else: | 153 else: |
| 139 logging.shutdown() | 154 logging.shutdown() |
| 140 | 155 |