From c3f01b08627e0da3b086bf3526ae17958549ff77 Mon Sep 17 00:00:00 2001 From: Daniel Kratzert Date: Sun, 10 Sep 2023 08:11:09 +0200 Subject: [PATCH] Also add moiety formula after checkcif --- finalcif/appwindow.py | 7 ++++++- finalcif/tools/process.py | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/finalcif/appwindow.py b/finalcif/appwindow.py index e473cfee..76bf8f32 100644 --- a/finalcif/appwindow.py +++ b/finalcif/appwindow.py @@ -1016,7 +1016,12 @@ def do_offline_checkcif(self) -> None: runner.tick.connect(self.append_to_ciflog_without_newline) runner.finished.connect(lambda: self.ui.CheckcifButton.setEnabled(True)) runner.run_process() - app.processEvents() + runner.formula.connect(self.add_moiety_furmula) + + def add_moiety_furmula(self, formula_moiety): + moiety = self.ui.cif_main_table.getTextFromKey(key='_chemical_formula_moiety', col=Column.CIF) + if formula_moiety and moiety in ['', '?'] and not self.cif.is_multi_cif: + self.ui.cif_main_table.setText(key='_chemical_formula_moiety', txt=formula_moiety, column=Column.EDIT) def append_to_ciflog_without_newline(self, text: str = '') -> None: self.ui.CheckCifLogPlainTextEdit.moveCursor(QtGui.QTextCursor.End) diff --git a/finalcif/tools/process.py b/finalcif/tools/process.py index 19a4ad47..82ab83d7 100644 --- a/finalcif/tools/process.py +++ b/finalcif/tools/process.py @@ -14,6 +14,7 @@ class PlatonRunner(QtCore.QObject): finished = QtCore.pyqtSignal(bool) + formula = QtCore.pyqtSignal(str) tick = QtCore.pyqtSignal(str) def __init__(self, parent, output_widget: QPlainTextEdit, log_widget: QPlainTextEdit, cif_file: Path): @@ -80,6 +81,7 @@ def _parse_chk_file(self): for num, line in enumerate(self.chk_file_text.splitlines(keepends=False)): if line.startswith('# MoietyFormula'): self.formula_moiety = ' '.join(line.split(' ')[2:]) + self.formula.emit(self.formula_moiety) if line.startswith('# Z'): self.Z = line[19:24].strip(' ')