Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/boto/pyami/startup.py @ 0:26e78fe6e8c4 draft
"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
author | shellac |
---|---|
date | Sat, 02 May 2020 07:14:21 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:26e78fe6e8c4 |
---|---|
1 # Copyright (c) 2006,2007 Mitch Garnaat http://garnaat.org/ | |
2 # | |
3 # Permission is hereby granted, free of charge, to any person obtaining a | |
4 # copy of this software and associated documentation files (the | |
5 # "Software"), to deal in the Software without restriction, including | |
6 # without limitation the rights to use, copy, modify, merge, publish, dis- | |
7 # tribute, sublicense, and/or sell copies of the Software, and to permit | |
8 # persons to whom the Software is furnished to do so, subject to the fol- | |
9 # lowing conditions: | |
10 # | |
11 # The above copyright notice and this permission notice shall be included | |
12 # in all copies or substantial portions of the Software. | |
13 # | |
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
15 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | |
16 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | |
17 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
18 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
20 # IN THE SOFTWARE. | |
21 # | |
22 import sys | |
23 import boto | |
24 from boto.utils import find_class | |
25 from boto import config | |
26 from boto.pyami.scriptbase import ScriptBase | |
27 | |
28 | |
29 class Startup(ScriptBase): | |
30 | |
31 def run_scripts(self): | |
32 scripts = config.get('Pyami', 'scripts') | |
33 if scripts: | |
34 for script in scripts.split(','): | |
35 script = script.strip(" ") | |
36 try: | |
37 pos = script.rfind('.') | |
38 if pos > 0: | |
39 mod_name = script[0:pos] | |
40 cls_name = script[pos + 1:] | |
41 cls = find_class(mod_name, cls_name) | |
42 boto.log.info('Running Script: %s' % script) | |
43 s = cls() | |
44 s.main() | |
45 else: | |
46 boto.log.warning('Trouble parsing script: %s' % script) | |
47 except Exception as e: | |
48 boto.log.exception('Problem Running Script: %s. Startup process halting.' % script) | |
49 raise e | |
50 | |
51 def main(self): | |
52 self.run_scripts() | |
53 self.notify('Startup Completed for %s' % config.get('Instance', 'instance-id')) | |
54 | |
55 if __name__ == "__main__": | |
56 if not config.has_section('loggers'): | |
57 boto.set_file_logger('startup', '/var/log/boto.log') | |
58 sys.path.append(config.get('Pyami', 'working_dir')) | |
59 su = Startup() | |
60 su.main() |