gstepanov | 725cc30 | 2015-02-09 15:08:06 +0200 | [diff] [blame] | 1 | import os |
koder aka kdanilov | e06762a | 2015-03-22 23:32:09 +0200 | [diff] [blame] | 2 | import yaml |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 3 | |
| 4 | from petname import Generate as pet_generate |
gstepanov | 725cc30 | 2015-02-09 15:08:06 +0200 | [diff] [blame] | 5 | |
stgleb | 75c7041 | 2015-02-17 02:52:00 +0200 | [diff] [blame] | 6 | |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 7 | cfg_dict = {} |
gstepanov | c82391e | 2015-03-17 15:46:36 +0200 | [diff] [blame] | 8 | |
| 9 | |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 10 | def load_config(file_name): |
| 11 | global cfg_dict |
| 12 | first_load = len(cfg_dict) == 0 |
| 13 | cfg_dict.update(yaml.load(open(file_name).read())) |
gstepanov | 5f936df | 2015-03-18 19:15:59 +0200 | [diff] [blame] | 14 | |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 15 | if first_load: |
| 16 | var_dir = cfg_dict.get('internal', {}).get('var_dir_root', '/tmp') |
gstepanov | 5f936df | 2015-03-18 19:15:59 +0200 | [diff] [blame] | 17 | |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 18 | while True: |
| 19 | dr = os.path.join(var_dir, pet_generate(2, "_")) |
| 20 | if not os.path.exists(dr): |
| 21 | break |
gstepanov | 5f936df | 2015-03-18 19:15:59 +0200 | [diff] [blame] | 22 | |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 23 | cfg_dict['var_dir'] = dr |
| 24 | os.makedirs(cfg_dict['var_dir']) |
gstepanov | 5f936df | 2015-03-18 19:15:59 +0200 | [diff] [blame] | 25 | |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 26 | cfg_dict['charts_img_path'] = os.path.join(cfg_dict['var_dir'], 'charts') |
| 27 | os.makedirs(cfg_dict['charts_img_path']) |
gstepanov | b3c7896 | 2015-03-20 15:47:58 +0200 | [diff] [blame] | 28 | |
koder aka kdanilov | 66839a9 | 2015-04-11 13:22:31 +0300 | [diff] [blame] | 29 | cfg_dict['vm_ids_fname'] = os.path.join(cfg_dict['var_dir'], 'os_vm_ids') |
| 30 | cfg_dict['report'] = os.path.join(cfg_dict['var_dir'], 'report.html') |
koder aka kdanilov | f4b82c2 | 2015-04-11 13:35:25 +0300 | [diff] [blame^] | 31 | cfg_dict['log_file'] = os.path.join(cfg_dict['var_dir'], 'log.txt') |