My Project
yamlTools.py
Go to the documentation of this file.
1 import yaml
2 
3 try:
4  from yaml import CLoader as Loader, CDumper as Dumper
5 except ImportError:
6  from yaml import Loader, Dumper
7 
8 class YamlTools:
9 
10  def __init__(
11  self
12  ):
13  self.yaml_loaded = False
15  self.yaml_element = {}
16 
18  self
19  ):
20  if(self.yaml_loaded):
21  print("Some yaml has been loaded before with this instance-loader.")
22  return False
23  else:
24  print("There has not been a yaml loaded before on this loader.")
25  return True
26 
27  def print_yaml_dump(
28  self,
29  python_element
30  ):
31  print(yaml.dump(python_element, default_flow_style = False))
32 
33  def convert(
34  self,
35  new_value,
36  old_value
37  ):
38  if(isinstance(old_value, float)):
39  return float(new_value)
40  elif(isinstance(old_value, int)):
41  return int(new_value)
42  elif(isinstance(old_value, str)):
43  return str(new_value)
44  elif(isinstance(old_value, bool)):
45  return bool(new_value)
46  else:
47  print("Need to add new data type?")
48 
50  self,
51  results_path,
52  run_name
53  ):
54 
55  stream = open(results_path + run_name + "/doc/yaml/parameters.yaml", 'r')
56  print(stream)
57  self.yaml_element = yaml.load(stream, Loader = Loader)
58  self.current_yaml_location = run_name
59  self.yaml_loaded = True
60 
62  self,
63  results_path,
64  run_name
65  ):
66  #print(yaml.dump(self.yaml_element, default_flow_style = False))
67  stream = open(results_path + run_name + "/doc/yaml/parameters.yaml", "w")
68  yaml.dump(self.yaml_element, stream, default_flow_style = False)
69 
70  def get_yaml_element(
71  self
72  ):
74  return self.yaml_element
75 
76  def get_parameter(
77  self,
78  parameter_name
79  ):
80  return self.yaml_element["Parameters"][parameter_name]
81 
83  self,
84  debug_parameter_name
85  ):
86  return self.yaml_element["Debug"][debug_parameter_name]
87 
88  def set_parameter(
89  self,
90  parameter_name,
91  new_value
92  ):
93  self.yaml_element["Parameters"][parameter_name] = self.convert(new_value, self.yaml_element["Parameters"][parameter_name])
94 
96  self,
97  debug_parameter_name,
98  new_value
99  ):
100  self.yaml_element["Debug"][debug_parameter_name] = new_value
def print_yaml_dump(self, python_element)
Definition: yamlTools.py:30
def convert(self, new_value, old_value)
Definition: yamlTools.py:37
def load_yaml_parameters(self, results_path, run_name)
Definition: yamlTools.py:53
def check_if_yaml_has_been_loaded(self)
Definition: yamlTools.py:19
def set_debug_parameter(self, debug_parameter_name, new_value)
Definition: yamlTools.py:99
def save_yaml_parameters(self, results_path, run_name)
Definition: yamlTools.py:65
def __init__(self)
Definition: yamlTools.py:12
def get_yaml_element(self)
Definition: yamlTools.py:72
def get_parameter(self, parameter_name)
Definition: yamlTools.py:79
def set_parameter(self, parameter_name, new_value)
Definition: yamlTools.py:92
def get_debug_parameter(self, debug_parameter_name)
Definition: yamlTools.py:85