Convert content of config-file into dictionary.
(filename)
| 170 | } |
| 171 | |
| 172 | def config_dict(filename): |
| 173 | """Convert content of config-file into dictionary.""" |
| 174 | with open(filename, "r") as f: |
| 175 | cfglines = f.readlines() |
| 176 | cfgdict = {} |
| 177 | for line in cfglines: |
| 178 | line = line.strip() |
| 179 | if not line or line.startswith("#"): |
| 180 | continue |
| 181 | try: |
| 182 | key, value = line.split("=") |
| 183 | except ValueError: |
| 184 | print("Bad line in config-file %s:\n%s" % (filename,line)) |
| 185 | continue |
| 186 | key = key.strip() |
| 187 | value = value.strip() |
| 188 | if value in ["True", "False", "None", "''", '""']: |
| 189 | value = eval(value) |
| 190 | else: |
| 191 | try: |
| 192 | if "." in value: |
| 193 | value = float(value) |
| 194 | else: |
| 195 | value = int(value) |
| 196 | except ValueError: |
| 197 | pass # value need not be converted |
| 198 | cfgdict[key] = value |
| 199 | return cfgdict |
| 200 | |
| 201 | def readconfig(cfgdict): |
| 202 | """Read config-files, change configuration-dict accordingly. |
no test coverage detected