diff --git a/nomad/processing/data.py b/nomad/processing/data.py index 8912a950d053c4bc1c6ab7048a53575aca3b950a..9dacca24e9a430d4bca5a69b7afb8e9734c58082 100644 --- a/nomad/processing/data.py +++ b/nomad/processing/data.py @@ -73,7 +73,8 @@ class Calc(Proc): ('upload_id', 'mainfile'), ('upload_id', 'parser'), ('upload_id', 'tasks_status'), - ('upload_id', 'process_status') + ('upload_id', 'process_status'), + ('upload_id', 'metadata.nomad_version') ] } @@ -633,7 +634,10 @@ class Upload(Proc): self._continue_with('parse_all') try: - for calc in Calc.objects(upload_id=self.upload_id): + # we use a copy of the mongo queryset; reasons are cursor timeouts and + # changing results on modifying the calc entries + calcs = list(Calc.objects(upload_id=self.upload_id)) + for calc in calcs: if calc.process_running: if calc.current_process == 're_process_calc': logger.warn('re_process_calc is already running', calc_id=calc.calc_id) diff --git a/nomad/search.py b/nomad/search.py index 4209e25ec5f4713d1c8ec837de05e11a41fd2e62..921b4abd180b2826c0c998c2fdbde6c7afcec2a8 100644 --- a/nomad/search.py +++ b/nomad/search.py @@ -64,7 +64,7 @@ class Dataset(InnerDoc): def from_dataset_popo(cls, dataset): return cls( id=dataset.id, - doi=dataset.doi.value if dataset.doi is not None else None, + doi=dataset.doi['value'] if dataset.doi is not None else None, name=dataset.name) id = Keyword()