Correctly handle the case that the YAML python module is not installed

This commit is contained in:
Axel Kohlmeyer
2022-05-14 10:13:08 -04:00
parent 9661711a1e
commit 168d3bdd3c
2 changed files with 24 additions and 9 deletions

View File

@ -17,11 +17,18 @@
# and Axel Kohlmeyer <akohlmey@gmail.com>
################################################################################
import re, yaml
import re
has_yaml = False
try:
from yaml import CSafeLoader as Loader
except ImportError:
from yaml import SafeLoader as Loader
import yaml
has_yaml = True
try:
from yaml import CSafeLoader as Loader
except ImportError:
from yaml import SafeLoader as Loader
except ImportError:
pass
class LogFile:
"""Reads LAMMPS log files and extracts the thermo information
@ -66,6 +73,8 @@ class LogFile:
style = LogFile.STYLE_YAML
yamllog += line;
current_run = {}
if not has_yaml:
raise Exception('Cannot process YAML format logs without the PyYAML Python module')
elif re.match(r'^\.\.\.$', line):
thermo = yaml.load(yamllog, Loader=Loader)