Source code for pymoodef.pymoodef

from pymoodef.questions import Questions
from pathlib import Path
import os

[docs] def moodef(file, ini = '', xml = ''): """ Generate an xml file from the questions in csv or excel format. We can indicate the name of the ini and output files. Parameters ---------- file : str Path to csv or excel file. ini : str Path to ini file (optional). xml : str Path to output xml file (optional). Returns ------- str Path to output xml file. Examples -------- res = moodef(file = 'tests/questions.csv') res = moodef(file = 'tests/questions.csv', xml = 'result.xml') """ q = Questions() filename, file_extension = os.path.splitext(file) if ini == '': path_ini = filename + '.ini' if Path(path_ini).is_file(): q.define_ini(path_ini) else: q.define_ini(ini) if file_extension.lower() == '.csv': q.define_from_csv(file) elif file_extension.lower() == '.csv2': q.define_from_csv(file[:-1], sep = ';') elif file_extension.lower() == '.xlsx': q.define_from_excel(file) else: raise Exception('File type not supported (only csv, csv2 and xlsx are valid).') if xml == '': path_xml = filename + '.xml' q.generate_xml(path_xml) return(path_xml) else: q.generate_xml(xml) return(xml)