-
gga authored2251ebcf
utilities.py 1.21 KiB
#!/usr/bin/python
# -*- coding: utf-8 -*-
import yaml
import logging
import sys
def parse_input(input_file):
"""
Parse the yml input file to extract data to create the SpeciesData objects
Return a list of dictionaries. Each dictionary contains data tied to a species
:param input_file:
:return:
"""
parsed_sp_dict_list = []
if str(input_file).endswith("yml") or str(input_file).endswith("yaml"):
logging.debug("Input format used: YAML")
else:
logging.critical("Error, please input a YAML file")
sys.exit()
with open(input_file, 'r') as stream:
try:
yaml_dict = yaml.safe_load(stream)
for k, v in yaml_dict.items():
if k == "config":
pass
parsed_sp_dict_list.append(v)
except yaml.YAMLError as exit_code:
logging.critical(exit_code + " (YAML input file might be incorrect)")
sys.exit()
return parsed_sp_dict_list
def filter_empty_not_empty_items(li):
ret = {"empty": [], "not_empty": []}
for i in li:
if i is None or i == "":
ret["empty"].append(i)
else:
ret["not_empty"].append(i)
return ret