From f0ac629d300e8bbd123071a048c578e3e9eb0312 Mon Sep 17 00:00:00 2001 From: Markus Scheidgen <markus.scheidgen@gmail.com> Date: Wed, 8 Jan 2020 15:25:55 +0100 Subject: [PATCH] Configurable use of "empty" parsers. --- nomad/config.py | 1 + nomad/parsing/__init__.py | 43 ++++++++++++++++++++++----------------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/nomad/config.py b/nomad/config.py index 87d1f163e6..f20b8e84b2 100644 --- a/nomad/config.py +++ b/nomad/config.py @@ -205,6 +205,7 @@ parser_matching_size = 9128 console_log_level = logging.WARNING max_upload_size = 32 * (1024 ** 3) raw_file_strip_cutoff = 1000 +use_empty_parsers = False springer_db_relative_path = 'normalizing/data/SM_all08.db' diff --git a/nomad/parsing/__init__.py b/nomad/parsing/__init__.py index 9b8383c752..02f172eea8 100644 --- a/nomad/parsing/__init__.py +++ b/nomad/parsing/__init__.py @@ -456,28 +456,33 @@ parsers = [ name='parser/onetep', code_name='ONETEP', domain='DFT', parser_class_name='onetepparser.OnetepParser', mainfile_contents_re=r'####### # # ####### ####### ####### ######' - ), + ) +] + +if config.use_empty_parsers: # There are some entries with PIDs that have mainfiles which do not match what # the actual parsers expect. We use the EmptyParser to produce placeholder entries # to keep the PIDs. These parsers will not match for new, non migrated data. - EmptyParser( - name='missing/octopus', code_name='Octopus', domain='DFT', - mainfile_name_re=r'(inp)|(.*/inp)' - ), - EmptyParser( - name='missing/crystal', code_name='Crystal', - mainfile_name_re=r'.*\.cryst\.out' - ), - EmptyParser( - name='missing/wien2k', code_name='WIEN2k', - mainfile_name_re=r'.*\.scf' - ), - EmptyParser( - name='missing/fhi-aims', code_name='FHI-aims', domain='DFT', - mainfile_name_re=r'.*\.fhiaims' - ), - BrokenParser() -] + parsers.extend([ + EmptyParser( + name='missing/octopus', code_name='Octopus', domain='DFT', + mainfile_name_re=r'(inp)|(.*/inp)' + ), + EmptyParser( + name='missing/crystal', code_name='Crystal', + mainfile_name_re=r'.*\.cryst\.out' + ), + EmptyParser( + name='missing/wien2k', code_name='WIEN2k', + mainfile_name_re=r'.*\.scf' + ), + EmptyParser( + name='missing/fhi-aims', code_name='FHI-aims', domain='DFT', + mainfile_name_re=r'.*\.fhiaims' + ) + ]) + +parsers.append(BrokenParser()) """ Instantiation and constructor based config of all parsers. """ -- GitLab