Currently the logic for parsing various EPW output files is defined as methods on the EpwParser. At least they are defined as a staticmethod, so a user that just wants to parse an output file doesn't have to use AiiDA. However, e.g. the parse_stdout method already has a logs input, which only makes sense in the context of "parsing through AiiDA".
I would like to separate the logic that does the actual parsing of the output files as much as possible from the AiiDA class. In my view, it should be in a separate package, similar to what I'm trying to achieve with aiida-quantumespresso and qe-tools. But for now, we could write all the parsers as functions in the (already existing) tools/parsers.py module, which are then used by the EpwParser class. In fact, I already see we have some duplication for the parsing of the .a2f file.
Currently the logic for parsing various EPW output files is defined as methods on the
EpwParser. At least they are defined as astaticmethod, so a user that just wants to parse an output file doesn't have to use AiiDA. However, e.g. theparse_stdoutmethod already has alogsinput, which only makes sense in the context of "parsing through AiiDA".I would like to separate the logic that does the actual parsing of the output files as much as possible from the AiiDA class. In my view, it should be in a separate package, similar to what I'm trying to achieve with
aiida-quantumespressoandqe-tools. But for now, we could write all the parsers as functions in the (already existing)tools/parsers.pymodule, which are then used by theEpwParserclass. In fact, I already see we have some duplication for the parsing of the.a2ffile.