finalcif 147__tar.gz → 149__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {finalcif-147 → finalcif-149}/PKG-INFO +1 -1
- finalcif-149/finalcif/__init__.py +2 -0
- {finalcif-147 → finalcif-149}/finalcif/appwindow.py +5 -2
- {finalcif-147 → finalcif-149}/finalcif/finalcif_start.py +21 -6
- {finalcif-147 → finalcif-149}/finalcif/report/templated_report.py +3 -0
- finalcif-147/finalcif/__init__.py +0 -2
- {finalcif-147 → finalcif-149}/.gitattributes +0 -0
- {finalcif-147 → finalcif-149}/.gitignore +0 -0
- {finalcif-147 → finalcif-149}/.run/Make Documentation MAC.run.xml +0 -0
- {finalcif-147 → finalcif-149}/.run/compile_ui_files.run.xml +0 -0
- {finalcif-147 → finalcif-149}/.run/make documentation Windows.run.xml +0 -0
- {finalcif-147 → finalcif-149}/CODE_OF_CONDUCT.md +0 -0
- {finalcif-147 → finalcif-149}/CONTRIBUTING.md +0 -0
- {finalcif-147 → finalcif-149}/Finalcif_installer_win.spec +0 -0
- {finalcif-147 → finalcif-149}/Finalcif_linux_onefile.spec +0 -0
- {finalcif-147 → finalcif-149}/Finalcif_mac.spec +0 -0
- {finalcif-147 → finalcif-149}/Hydrogen_solution_type.cif +0 -0
- {finalcif-147 → finalcif-149}/LICENSE +0 -0
- {finalcif-147 → finalcif-149}/README.md +0 -0
- {finalcif-147 → finalcif-149}/finalcif/app_path.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/all_cif_dicts.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/atoms.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/checkcif/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/checkcif/checkcif.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cif_dict_foo.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cif_file_io.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cif_order.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cod/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cod/deposit.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cod/deposit_check.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cod/deposition_list.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cod/doi.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cod/upload.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/cod/website_parser.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/core_dict.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/hkl.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/modulation_dict.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/powder_dict.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/reference.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/restraints_dict.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/text.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/cif/twin_dict.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/ciforder/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/ciforder/order.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/ciforder/order_ui.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/ciforder/order_ui.ui +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/bruker_data.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/bruker_frame.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/ccdc_mail.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/data.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/p4p_reader.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/sadabs.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/saint.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/shelx_lst.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/datafiles/utils.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/displaymol/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/displaymol/molecule2D.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/displaymol/sdm.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/displaymol/vtk_molecule.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/equip_property/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/equip_property/author_loop_templates.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/equip_property/equipment.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/equip_property/properties.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/equip_property/tools.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/block_combobox.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/combobox.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/custom_classes.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/dialogs.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/edit_button.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/equipmenttable.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/file_editor.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/finalcif_gui_ui.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/finalcif_gui_ui.ui +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/import_selector.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/import_selector_ui.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/import_selector_ui.ui +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/loop_creator.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/loop_creator_ui.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/loop_creator_ui.ui +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/loops.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/mainstackwidget.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/mixins.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/new_key_dialog.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/new_key_dialog_ui.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/new_key_dialog_ui.ui +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/plaintextedit.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/playground.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/propertytable.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/spell_check_edit.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/text_templates_ui.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/text_templates_ui.ui +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/text_value_editor.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/validators.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/gui/vrf_classes.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/icon/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/icon/finalcif.png +0 -0
- {finalcif-147 → finalcif-149}/finalcif/icon/finalcif2.ico +0 -0
- {finalcif-147 → finalcif-149}/finalcif/icon/finalcif2.png +0 -0
- {finalcif-147 → finalcif-149}/finalcif/icon/multitable.ico +0 -0
- {finalcif-147 → finalcif-149}/finalcif/icon/multitable.png +0 -0
- {finalcif-147 → finalcif-149}/finalcif/icon/multitable.xcf +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/archive_report.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/gui/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/gui/mainwindow.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/gui/mainwindow.ui +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/mtools.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/references.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/report_text.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/symm.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/report/tables.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/bootstrap/bootstrap.min.css +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/machines/D8_VENTURE.cif +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/mathml2omml.xsl +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/report.tmpl +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/report_default.docx +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/template1.docx +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/template_for_multitable.docx +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/template_text.docx +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/template_without_text.docx +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/templates.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/xsl/convert.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/template/xsl/xmltohtml.xsl +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/__init__.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/chemparse.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/download.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/dsrmath.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/misc.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/options.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/platon.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/pupdate.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/settings.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/shred.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/space_groups.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/spgr_format.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/statusbar.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif/tools/sumformula.py +0 -0
- {finalcif-147 → finalcif-149}/finalcif.exe +0 -0
- {finalcif-147 → finalcif-149}/install_requirements +0 -0
- {finalcif-147 → finalcif-149}/install_requirements.bat +0 -0
- {finalcif-147 → finalcif-149}/pyproject.toml +0 -0
- {finalcif-147 → finalcif-149}/requirements.txt +0 -0
- {finalcif-147 → finalcif-149}/requirements_devel.txt +0 -0
- {finalcif-147 → finalcif-149}/requirements_doku.txt +0 -0
- {finalcif-147 → finalcif-149}/run_finalcif +0 -0
- {finalcif-147 → finalcif-149}/run_finalcif.bat +0 -0
- {finalcif-147 → finalcif-149}/screenshots/finalcif_checkcif.png +0 -0
- {finalcif-147 → finalcif-149}/screenshots/finalcif_details.png +0 -0
- {finalcif-147 → finalcif-149}/screenshots/finalcif_loops.png +0 -0
- {finalcif-147 → finalcif-149}/screenshots/finalcif_loops2.png +0 -0
- {finalcif-147 → finalcif-149}/screenshots/finalcif_main.png +0 -0
- {finalcif-147 → finalcif-149}/screenshots/finalcif_report.png +0 -0
- {finalcif-147 → finalcif-149}/screenshots/finalcif_responses.png +0 -0
- {finalcif-147 → finalcif-149}/update.exe +0 -0
|
@@ -1604,8 +1604,11 @@ class AppWindow(QMainWindow):
|
|
|
1604
1604
|
"""
|
|
1605
1605
|
vheader: QtWidgets.QHeaderView = self.ui.cif_main_table.verticalHeader()
|
|
1606
1606
|
fm = QtGui.QFontMetrics(vheader.font(), self)
|
|
1607
|
-
|
|
1608
|
-
|
|
1607
|
+
try:
|
|
1608
|
+
# noinspection PyTypeChecker
|
|
1609
|
+
longest_string: str = max(self.ui.cif_main_table.vheaderitems, key=len)
|
|
1610
|
+
except ValueError:
|
|
1611
|
+
longest_string = '_chemical_formula_sum_foo'
|
|
1609
1612
|
vheader.setMaximumWidth(fm.width(longest_string + 'O'))
|
|
1610
1613
|
|
|
1611
1614
|
def changes_cif_has_values(self) -> bool:
|
|
@@ -14,8 +14,7 @@ from typing import Type
|
|
|
14
14
|
from finalcif import VERSION
|
|
15
15
|
from finalcif.app_path import application_path
|
|
16
16
|
from finalcif.appwindow import AppWindow, DEBUG, app
|
|
17
|
-
from finalcif.gui.dialogs import show_bug_found_warning
|
|
18
|
-
from finalcif.gui.dialogs import show_general_warning
|
|
17
|
+
from finalcif.gui.dialogs import show_bug_found_warning, show_general_warning
|
|
19
18
|
|
|
20
19
|
|
|
21
20
|
def my_exception_hook(exctype: Type[BaseException], value: BaseException, error_traceback: traceback,
|
|
@@ -30,10 +29,26 @@ def my_exception_hook(exctype: Type[BaseException], value: BaseException, error_
|
|
|
30
29
|
f'Date: {time.asctime(time.localtime(time.time()))}\n'
|
|
31
30
|
f'Finalcif crashed during the following operation:\n\n'
|
|
32
31
|
f'{"-" * 120}\n'
|
|
33
|
-
f'{"".join(traceback.format_tb(error_traceback))}\n'
|
|
34
|
-
f'{str(exctype.__name__)}: '
|
|
35
|
-
f'{str(value)} \n'
|
|
36
|
-
f'{"-" * 120}\n'
|
|
32
|
+
# f'{"".join(traceback.format_tb(error_traceback))}\n'
|
|
33
|
+
# f'{str(exctype.__name__)}: '
|
|
34
|
+
# f'{str(value)} \n'
|
|
35
|
+
# f'{"-" * 120}\n'
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
# Walk through the traceback and extract local variables
|
|
39
|
+
for frame, _ in traceback.walk_tb(error_traceback):
|
|
40
|
+
errortext += (f'File "{frame.f_code.co_filename}", line {frame.f_lineno}, in '
|
|
41
|
+
f'{frame.f_code.co_qualname}(...):\n')
|
|
42
|
+
newline = '\n'
|
|
43
|
+
errortext += f' Locals: \n '
|
|
44
|
+
errortext += " ".join(
|
|
45
|
+
[f" {k}:{newline} {' '.join([x + newline for x in repr(v).splitlines()])}" for k, v in
|
|
46
|
+
frame.f_locals.items()]) + '\n\n'
|
|
47
|
+
|
|
48
|
+
errortext += f'{"-" * 120}\n'
|
|
49
|
+
errortext += f'{str(exctype.__name__)}: {str(value)} \n'
|
|
50
|
+
errortext += f'{"-" * 120}\n'
|
|
51
|
+
|
|
37
52
|
logfile = Path.home().joinpath(Path(r'finalcif-crash.txt'))
|
|
38
53
|
try:
|
|
39
54
|
logfile.write_text(errortext)
|
|
@@ -1105,7 +1105,9 @@ class TemplatedReport():
|
|
|
1105
1105
|
context, tpl_doc = self.prepare_report_data(self.cif, self.options, picfile, tpl_doc)
|
|
1106
1106
|
# Filter definition for {{foobar|filter}} things:
|
|
1107
1107
|
jinja_env = jinja2.Environment()
|
|
1108
|
+
jinja_env.globals.update(zip=zip)
|
|
1108
1109
|
jinja_env.globals.update(strip=str.strip)
|
|
1110
|
+
jinja_env.filters['utf8'] = report_text.utf8
|
|
1109
1111
|
jinja_env.filters['inv_article'] = report_text.get_inf_article
|
|
1110
1112
|
jinja_env.filters['to_pm'] = angstrom_to_pm if self.options.use_picometers else do_nothing
|
|
1111
1113
|
jinja_env.filters['to_nm'] = angstrom_to_nanometers if self.options.use_picometers else do_nothing
|
|
@@ -1144,6 +1146,7 @@ class TemplatedReport():
|
|
|
1144
1146
|
autoescape=select_autoescape(['html', 'htm', 'xml']))
|
|
1145
1147
|
# Add zip() method to global namespace of the template:
|
|
1146
1148
|
jinja_env.globals.update(zip=zip)
|
|
1149
|
+
jinja_env.globals.update(strip=str.strip)
|
|
1147
1150
|
jinja_env.filters['to_pm'] = angstrom_to_pm if self.options.use_picometers else do_nothing
|
|
1148
1151
|
jinja_env.filters['to_nm'] = angstrom_to_nanometers if self.options.use_picometers else do_nothing
|
|
1149
1152
|
jinja_env.filters['inv_article'] = report_text.get_inf_article
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|