psdi-data-conversion 0.1.6__py3-none-any.whl → 0.2.0__py3-none-any.whl

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.
Files changed (38) hide show
  1. psdi_data_conversion/app.py +5 -398
  2. psdi_data_conversion/constants.py +11 -7
  3. psdi_data_conversion/converter.py +41 -28
  4. psdi_data_conversion/converters/base.py +18 -13
  5. psdi_data_conversion/database.py +284 -88
  6. psdi_data_conversion/gui/__init__.py +5 -0
  7. psdi_data_conversion/gui/accessibility.py +51 -0
  8. psdi_data_conversion/gui/env.py +239 -0
  9. psdi_data_conversion/gui/get.py +53 -0
  10. psdi_data_conversion/gui/post.py +176 -0
  11. psdi_data_conversion/gui/setup.py +102 -0
  12. psdi_data_conversion/main.py +70 -13
  13. psdi_data_conversion/static/content/convert.htm +105 -74
  14. psdi_data_conversion/static/content/convertato.htm +36 -26
  15. psdi_data_conversion/static/content/convertc2x.htm +39 -26
  16. psdi_data_conversion/static/content/download.htm +5 -5
  17. psdi_data_conversion/static/content/feedback.htm +2 -2
  18. psdi_data_conversion/static/content/header-links.html +3 -3
  19. psdi_data_conversion/static/content/index-versions/header-links.html +3 -3
  20. psdi_data_conversion/static/content/index-versions/psdi-common-header.html +1 -1
  21. psdi_data_conversion/static/content/psdi-common-header.html +1 -1
  22. psdi_data_conversion/static/javascript/accessibility.js +88 -61
  23. psdi_data_conversion/static/javascript/data.js +1 -3
  24. psdi_data_conversion/static/javascript/load_accessibility.js +50 -33
  25. psdi_data_conversion/static/styles/format.css +74 -20
  26. psdi_data_conversion/static/styles/psdi-common.css +5 -0
  27. psdi_data_conversion/templates/accessibility.htm +274 -0
  28. psdi_data_conversion/{static/content → templates}/documentation.htm +25 -5
  29. psdi_data_conversion/templates/index.htm +75 -58
  30. psdi_data_conversion/{static/content → templates}/report.htm +28 -10
  31. psdi_data_conversion/testing/conversion_test_specs.py +26 -6
  32. psdi_data_conversion/testing/utils.py +6 -6
  33. {psdi_data_conversion-0.1.6.dist-info → psdi_data_conversion-0.2.0.dist-info}/METADATA +9 -2
  34. {psdi_data_conversion-0.1.6.dist-info → psdi_data_conversion-0.2.0.dist-info}/RECORD +37 -31
  35. psdi_data_conversion/static/content/accessibility.htm +0 -255
  36. {psdi_data_conversion-0.1.6.dist-info → psdi_data_conversion-0.2.0.dist-info}/WHEEL +0 -0
  37. {psdi_data_conversion-0.1.6.dist-info → psdi_data_conversion-0.2.0.dist-info}/entry_points.txt +0 -0
  38. {psdi_data_conversion-0.1.6.dist-info → psdi_data_conversion-0.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -228,19 +228,39 @@ Not compatible with the GUI, since the GUI can't forcibly delete files uploaded
228
228
  """
229
229
 
230
230
  l_all_test_specs.append(Spec(name="Failed conversion - bad input file",
231
- filename=["quartz_err.xyz", "cyclopropane_err.mol"],
232
- to_format=["inchi", "xyz-0"],
233
- from_format=[None, "mol-0"],
234
- expect_success=False,
235
- converter_name=[CONVERTER_OB, CONVERTER_C2X],
231
+ filename=["quartz_err.xyz", "quartz_err.xyz",
232
+ "quartz_err.xyz",
233
+ "cyclopropane_err.mol", "nacl.cif"],
234
+ to_format=["inchi", "mol-0",
235
+ "pdb",
236
+ "xyz-0", "bands"],
237
+ from_format=[None, None,
238
+ None,
239
+ "mol-0", None],
240
+ expect_success=[False, True,
241
+ True,
242
+ False, True],
243
+ converter_name=[CONVERTER_OB, CONVERTER_OB,
244
+ CONVERTER_ATO,
245
+ CONVERTER_C2X, CONVERTER_C2X],
236
246
  callback=[MCB(CheckFileStatus(expect_output_exists=False,
237
247
  expect_log_exists=None),
238
248
  CheckException(ex_type=FileConverterAbortException,
239
249
  ex_message="Problems reading an XYZ file")),
250
+ MCB(CheckFileStatus(expect_output_exists=True,
251
+ expect_log_exists=True),
252
+ CheckLogContents("Problems reading an XYZ file: Could not read line #11, "
253
+ "file error.")),
254
+ MCB(CheckFileStatus(expect_output_exists=True,
255
+ expect_log_exists=True),
256
+ CheckLogContents("ERROR while trying to read atom #9")),
240
257
  MCB(CheckFileStatus(expect_output_exists=False,
241
258
  expect_log_exists=None),
242
259
  CheckException(ex_type=FileConverterAbortException,
243
- ex_message="Aborting: mol file contains no atoms"))],
260
+ ex_message="Aborting: mol file contains no atoms")),
261
+ MCB(CheckFileStatus(expect_output_exists=None,
262
+ expect_log_exists=True),
263
+ CheckLogContents("No eigenvalues to write!"))],
244
264
  ))
245
265
  """A test that a conversion that fails due to an unreadable input file will properly fail"""
246
266
 
@@ -248,7 +248,7 @@ class SingleConversionTestSpec:
248
248
 
249
249
  conversion_kwargs: dict[str, Any] = field(default_factory=dict)
250
250
  """Any keyword arguments to be provided to the call to `run_converter`, aside from those listed above and
251
- `upload_dir` and `download_dir` (for which temporary directories are used)"""
251
+ `input_dir` and `output_dir` (for which temporary directories are used)"""
252
252
 
253
253
  expect_success: bool = True
254
254
  """Whether or not to expect the test to succeed"""
@@ -333,12 +333,12 @@ def _run_single_test_conversion_with_library(test_spec: SingleConversionTestSpec
333
333
 
334
334
  exc_info: pytest.ExceptionInfo | None = None
335
335
  if test_spec.expect_success:
336
- run_converter(filename=qualified_in_filename,
336
+ run_converter(filename=test_spec.filename,
337
337
  to_format=test_spec.to_format,
338
338
  from_format=test_spec.from_format,
339
339
  name=test_spec.converter_name,
340
- upload_dir=input_dir,
341
- download_dir=output_dir,
340
+ input_dir=input_dir,
341
+ output_dir=output_dir,
342
342
  **test_spec.conversion_kwargs)
343
343
  success = True
344
344
  else:
@@ -347,8 +347,8 @@ def _run_single_test_conversion_with_library(test_spec: SingleConversionTestSpec
347
347
  to_format=test_spec.to_format,
348
348
  from_format=test_spec.from_format,
349
349
  name=test_spec.converter_name,
350
- upload_dir=input_dir,
351
- download_dir=output_dir,
350
+ input_dir=input_dir,
351
+ output_dir=output_dir,
352
352
  **test_spec.conversion_kwargs)
353
353
  success = False
354
354
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: psdi_data_conversion
3
- Version: 0.1.6
3
+ Version: 0.2.0
4
4
  Summary: Chemistry file format conversion service, provided by PSDI
5
5
  Project-URL: Homepage, https://data-conversion.psdi.ac.uk/
6
6
  Project-URL: Documentation, https://psdi-uk.github.io/psdi-data-conversion/
@@ -222,8 +222,13 @@ Classifier: Programming Language :: Python :: 3
222
222
  Classifier: Topic :: File Formats
223
223
  Classifier: Topic :: Scientific/Engineering :: Chemistry
224
224
  Requires-Python: >=3.12
225
+ Requires-Dist: igraph
225
226
  Requires-Dist: openbabel-wheel
226
227
  Requires-Dist: py
228
+ Provides-Extra: deploy
229
+ Requires-Dist: flask; extra == 'deploy'
230
+ Requires-Dist: gunicorn; extra == 'deploy'
231
+ Requires-Dist: requests; extra == 'deploy'
227
232
  Provides-Extra: doc
228
233
  Requires-Dist: pdoc3; extra == 'doc'
229
234
  Provides-Extra: gui
@@ -243,6 +248,9 @@ Description-Content-Type: text/markdown
243
248
 
244
249
  # PSDI Data Conversion
245
250
 
251
+ [![License Badge](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
252
+ ![Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/brgillis/dbd938192dc4de9b7779978e515c0e79/raw/covbadge.json)
253
+
246
254
  Release date: 2024-04-29
247
255
 
248
256
  This is the repository for the PSDI PF2 Chemistry File Format Conversion project. The goal of this project is to provide utilities to assist in converting files between the many different file formats used in chemistry, providing information on what converters are available for a given conversion and the expected quality of it, and providing multiple interfaces to perform these conversions. These interfaces are:
@@ -327,7 +335,6 @@ This is the repository for the PSDI PF2 Chemistry File Format Conversion project
327
335
  - `LICENSE` (Apache License version 2.0)
328
336
  - `pyproject.toml` (Python project metadata and settings)
329
337
  - `README.md` (This file)
330
- - `requirements.txt` (Requirements for the web app deployment of this project)
331
338
 
332
339
  ## Requirements
333
340
 
@@ -1,12 +1,12 @@
1
1
  psdi_data_conversion/__init__.py,sha256=urMsTqsTHTch1q4rMT9dgGnrvdPFMP9B8r-6Kr8H5sE,404
2
- psdi_data_conversion/app.py,sha256=RxWkfqoDDNhRH-HlZ3pW_p-EmvIxwDOspwVG5A4SD9I,17254
3
- psdi_data_conversion/constants.py,sha256=Hq2OVbcSkcv6T87-YJlo1PVlr9ILlB4H3E9JYjzvCF4,7423
4
- psdi_data_conversion/converter.py,sha256=Y77mqH2OKxf2YelphWDl82AKoRa-APle-l3e8wG_WZA,27315
5
- psdi_data_conversion/database.py,sha256=XzKvtT-cFmKLWLo5OBB5CV_rGHuqEEuENNyZnbS39qE,56419
2
+ psdi_data_conversion/app.py,sha256=VmZlIAZ_J9W6p_WUcTA_2UNmZxssmq1aT72I2d1ObDc,3606
3
+ psdi_data_conversion/constants.py,sha256=w-P3QrS2MQm3gorqZfKqX15YhOTvqZSZ7h6pdxwlzao,7348
4
+ psdi_data_conversion/converter.py,sha256=OlwGKxI8nj76wrlVzP5S7fpXb6L-Ql8-mYLYGhW81Fk,27816
5
+ psdi_data_conversion/database.py,sha256=86jxDXNnyo44lUg78IvwmhyoZaNzNCL9crSZbzcokm4,65284
6
6
  psdi_data_conversion/dist.py,sha256=LOcKEP7H7JA9teX1m-5awuBi69gmdhtUit7yxtCTOZ8,2293
7
7
  psdi_data_conversion/file_io.py,sha256=LvdPmnYL_7Xlcr-7LJjUbbky4gKiqTTvPRzdbtvQaJo,8794
8
8
  psdi_data_conversion/log_utility.py,sha256=CHAq-JvBnTKaE0SHK5hM5j2dTbfSli4iUc3hsf6dBhc,8789
9
- psdi_data_conversion/main.py,sha256=9Gu3CxbUfMuDxyNBx_-kQwWB4eOTWRHGmxCsVnpdbvs,42421
9
+ psdi_data_conversion/main.py,sha256=LWiYiELF_LY1GghQLt37eZS3ZNojmwHWuSnAhe3qbDI,44768
10
10
  psdi_data_conversion/security.py,sha256=wjdrMre29TpkF2NqrsXJ5sschSAnDzqLYTLUcNR21Qw,902
11
11
  psdi_data_conversion/utils.py,sha256=iTjNfrD4n_hU9h20ldYrX2Bmp5KhCBIeMSUMLtPZ_8k,402
12
12
  psdi_data_conversion/bin/LICENSE_ATOMSK,sha256=-Ay6SFTAf9x-OaRAiOgMNoutfUMLHx5jQQA1HqZ6p7I,34886
@@ -17,25 +17,28 @@ psdi_data_conversion/bin/mac/atomsk,sha256=pqExRdkR8NSqSasHZjE74R_CiM6Dkr_yvfyak
17
17
  psdi_data_conversion/bin/mac/c2x,sha256=dI-bBoQ6uqc6KMYKJaq0x7ejJgOf_wysTxQA5BrF8AY,2581960
18
18
  psdi_data_conversion/converters/__init__.py,sha256=15Ldt06eyZ0bgNPB4qg419U0Zcjt6TUCTzjCBo8EIzM,210
19
19
  psdi_data_conversion/converters/atomsk.py,sha256=_V33me1e4HW0-YXvdE-z6PdwtSK2gYV6QZf5d8aPqH4,1523
20
- psdi_data_conversion/converters/base.py,sha256=gYZ-2f693_YBgJdlXFUZOpjVhB8PAbkbLFkOS9BFg9Q,36022
20
+ psdi_data_conversion/converters/base.py,sha256=0hK9IeC306zvQ1qAWb19eI_m_e6CA8TfuEoWgypimeo,36403
21
21
  psdi_data_conversion/converters/c2x.py,sha256=jDA84H8Jpz--ajTWNWX6K6oMfOMMbMxkA31-VnGi0gU,2019
22
22
  psdi_data_conversion/converters/openbabel.py,sha256=OYppOMfnvxmVgRY5vUkcVokWn-bQSSeG8MOFqN1MCIY,13224
23
+ psdi_data_conversion/gui/__init__.py,sha256=Q52GAaJWfNWGDOAEM_fIfAoivLIgM3krhVTiHFTRixM,125
24
+ psdi_data_conversion/gui/accessibility.py,sha256=XQyAAJZQdIyRftfidhhVgsZXVtA9b9qZhwwFm899kbE,1302
25
+ psdi_data_conversion/gui/env.py,sha256=nVuKzuE6z9ItH09ZRkooGRUTVZSHtPzSR9XrZVDHC-0,9235
26
+ psdi_data_conversion/gui/get.py,sha256=sU7D7ePoOANe0HESRnxjuRXty5S1nfQQS4NEtN5ytTo,1213
27
+ psdi_data_conversion/gui/post.py,sha256=PR-NY1w1gbNacqX_0QNhA5R7SrrajsI_xdeFpm74RBM,6140
28
+ psdi_data_conversion/gui/setup.py,sha256=MurBe-FiWDeXpPN3QsAq_JFoT5w1RoScRozTK9VzRCI,3004
23
29
  psdi_data_conversion/scripts/atomsk.sh,sha256=N_NMO5q8sI3Lt1TerC-xcKbMI0kfscAudy5UAbY0uR0,804
24
30
  psdi_data_conversion/scripts/c2x.sh,sha256=F48jhgtgouKKZDQ9p6tCCNBN5bPuidBq2GcTurdWzQc,770
25
- psdi_data_conversion/static/content/accessibility.htm,sha256=5mzlPM-d5KBoOuvuBTmer5QEI9lWQSd7FPH1KFn_7B0,14187
26
- psdi_data_conversion/static/content/convert.htm,sha256=sw4U8yQQXNYXl2ruYPfg6qIMozL2KMpWlKcAzn208X8,7166
27
- psdi_data_conversion/static/content/convertato.htm,sha256=IQ2PUodkWdZbbuvctDs2Ow0tEJXvhrnzhvGYDF7Oiiw,3669
28
- psdi_data_conversion/static/content/convertc2x.htm,sha256=mqMscskUPS1JtV1ABl91kH_JyCmK7ORFjD1n2_MZFz4,3669
29
- psdi_data_conversion/static/content/documentation.htm,sha256=1GiEjlDCP0kJ3CKkx3l1gPxeOPp4bdOP95MPKx4dzvI,5557
30
- psdi_data_conversion/static/content/download.htm,sha256=DQKWEuq_Bjv2TyV6DnPXnHrSOBvGYRHOU-m6YOwfsh4,4727
31
- psdi_data_conversion/static/content/feedback.htm,sha256=fZrhn4Egs9g6ygqPzV6ZG9ndYK02VdALNVNXRsZ716k,1788
32
- psdi_data_conversion/static/content/header-links.html,sha256=7B2bHa7dLfSZ4hPMvVJ3kR0niVAOO3FtHJo0K6m1oP4,693
31
+ psdi_data_conversion/static/content/convert.htm,sha256=Ops7GvdRMC80Sp_VVZo0isnnnRHVaHG7CgDcAS8z8FQ,8360
32
+ psdi_data_conversion/static/content/convertato.htm,sha256=NXnJYj3Fyl47SHblRHso6N6lPhh5cO7udBVVOx_Zd2k,4102
33
+ psdi_data_conversion/static/content/convertc2x.htm,sha256=Hr0C9oMA-hZhMStweIt7v76s28LcFft7WaLOKnXMB-g,4142
34
+ psdi_data_conversion/static/content/download.htm,sha256=JPzd4AYkAVU0lUhpWvqGXLpdOcVaFCG2SWbqicPma7k,4737
35
+ psdi_data_conversion/static/content/feedback.htm,sha256=aWMaIEHIrMZKCdvphMG4D1qz5i_q59pCjecpPrLi9Mo,1792
36
+ psdi_data_conversion/static/content/header-links.html,sha256=X2_-8KIxZoQbR76Jhvx6IYZN4KjtswkAXwB5guFReSc,711
33
37
  psdi_data_conversion/static/content/psdi-common-footer.html,sha256=3_KqTtwtkvCvi52LcRrN7oVfMfFdHqrHc39gMrYzGxg,4070
34
- psdi_data_conversion/static/content/psdi-common-header.html,sha256=2upXPOZ-EM6Bv7ltPJnynPBjYz4Z27sNl4LuUaVdVjM,1815
35
- psdi_data_conversion/static/content/report.htm,sha256=CRwlF7a7QvAjHsajuehWOtLxbo-JAjqrS_Q-I4BWxzs,4549
36
- psdi_data_conversion/static/content/index-versions/header-links.html,sha256=WN9oZL7hLtH_yv5PvX3Ky7_YGrNvQL_RQ5eU8DB50Rg,764
38
+ psdi_data_conversion/static/content/psdi-common-header.html,sha256=yTN9jV7RJMOUFBizuAt4ZvRMMyWMVJ2npPGmP8QCSY0,1833
39
+ psdi_data_conversion/static/content/index-versions/header-links.html,sha256=4VN78LcPAlX8LAeBUBfUa4EKadDlQoJExMgZTTR4tyU,725
37
40
  psdi_data_conversion/static/content/index-versions/psdi-common-footer.html,sha256=APBMI9c5-4fNV-CCYEs9ySgAahc7u1w-0e3EjM1MiD8,4126
38
- psdi_data_conversion/static/content/index-versions/psdi-common-header.html,sha256=w6Q_uu0W4MdioVoh6w0Cy4m2ACr7xAnampx1TfPvT9M,1897
41
+ psdi_data_conversion/static/content/index-versions/psdi-common-header.html,sha256=FaETL3z4WSfgDGjfHH76x5iHq_OV6wAhoxNS7xkSWig,1858
39
42
  psdi_data_conversion/static/data/data.json,sha256=1nljosxtwbLRfIIIa6-GHJnhvzhB759oEGvVQ18QP_4,3647095
40
43
  psdi_data_conversion/static/img/colormode-toggle-dm.svg,sha256=Q85ODwU67chZ77lyT9gITtnmqzJEycFmz35dJuqaPXE,502
41
44
  psdi_data_conversion/static/img/colormode-toggle-lm.svg,sha256=sIKXsNmLIXU4fSuuqrN0r-J4Hd3NIqoiXNT3mdq5-Fo,1155
@@ -61,28 +64,31 @@ psdi_data_conversion/static/img/ukri-epsr-logo-darktext.png,sha256=_36A5rIMg7YxU
61
64
  psdi_data_conversion/static/img/ukri-epsr-logo-lighttext.png,sha256=Am-5nHjr-yA_cmvV9nd5saIGrkS3lytDpi8nkpepswE,40510
62
65
  psdi_data_conversion/static/img/ukri-logo-darktext.png,sha256=3UgghERAmFdnre0FfcA8JcskVLbnOn-oH4MCWEazyD4,25570
63
66
  psdi_data_conversion/static/img/ukri-logo-lighttext.png,sha256=ptIQwIGGdVsO2rTximo9QjtJFH9DpkJcAs1glwKFjwo,25579
64
- psdi_data_conversion/static/javascript/accessibility.js,sha256=kbnWHeBNPrTLrnYRjMEUmiOcCXM2bORYIRfzUB03TAE,7208
67
+ psdi_data_conversion/static/javascript/accessibility.js,sha256=qFpkTWi0-flSmlEQJYoVorXcdAdskuGtl3iGZS8DY10,8403
65
68
  psdi_data_conversion/static/javascript/common.js,sha256=3YZdwfq54OPl-xIImTwjbXqxKqlrAaEbeac0cAHvScU,1720
66
69
  psdi_data_conversion/static/javascript/convert.js,sha256=xWd0V9wyPD6t2ltTbaAQqqnvneU6_VEdMhVyg7UUo6c,10453
67
70
  psdi_data_conversion/static/javascript/convert_common.js,sha256=nr0UTAPv2hahqCjl_JzxoOAtsyKIsk6qDXO6cItmChg,11369
68
71
  psdi_data_conversion/static/javascript/convertato.js,sha256=faSvfm9HWT3i8piqEDq8OfekiPo3jCV2vKT_VjdzwmE,3555
69
72
  psdi_data_conversion/static/javascript/convertc2x.js,sha256=TTqC9B2FD_q3RcPE2GJh6yAhocQyJLRfQsbSWzm2g3U,3550
70
- psdi_data_conversion/static/javascript/data.js,sha256=ZM5PkPqiq8aUaB0ARWLK4TVSuxJKAFAAxlF1-7BsJ1g,6915
73
+ psdi_data_conversion/static/javascript/data.js,sha256=xdQwBz70GGlRkZqTlTUX4HxQ7oRr85DdfkiQb_qqZ6M,6862
71
74
  psdi_data_conversion/static/javascript/format.js,sha256=S-ovNuqOSfS-RYDhFxxCDpTKFKdxOWAYvJuzeEPcXB0,21260
72
- psdi_data_conversion/static/javascript/load_accessibility.js,sha256=jTLfmubEmko2bJ_MKWMkmYxUeBxotozc-0-ua69CYJo,3265
75
+ psdi_data_conversion/static/javascript/load_accessibility.js,sha256=4GDGQnjSg_6K_EhmYbmTbpcmd5Kbsx9kbjTHF7o3Hos,3433
73
76
  psdi_data_conversion/static/javascript/psdi-common.js,sha256=I0QqGQ7l_rA4KEfenQTfPc-uOXXp8sxMh_NHL3EkFm4,6231
74
77
  psdi_data_conversion/static/javascript/report.js,sha256=BHH5UOhXJtB6J_xk_y6woquNKt5W9hCrQapxKtGG1eA,12470
75
- psdi_data_conversion/static/styles/format.css,sha256=PaQkUVxQfXI9nbJ-7YsN1tNIcLXfwXk8wJC-zht8nRA,3269
76
- psdi_data_conversion/static/styles/psdi-common.css,sha256=09VY-lldoZCrohuqPKnd9fvDget5g9ybi6uh13pYeY0,17249
77
- psdi_data_conversion/templates/index.htm,sha256=Y1KlrBirqDPyleVl_Edgbm_jYMBYGnOEMdCzmDBJi3o,6842
78
+ psdi_data_conversion/static/styles/format.css,sha256=QqcW5IR1WXLn3i0BWAO4KNqDu8eZ5c_nasAWIBOv1gs,4255
79
+ psdi_data_conversion/static/styles/psdi-common.css,sha256=w6WMKL4oeAQDQlwZOr-K-F3OXUXLbcjvmSGWqIT5Lj4,17378
80
+ psdi_data_conversion/templates/accessibility.htm,sha256=waBdkwQqsGOucJ82MJbc1bJzgrrC8weLR-Py4kVm8HQ,15982
81
+ psdi_data_conversion/templates/documentation.htm,sha256=BeEPgklJOB9tA6jna0Qp4lwR-5ICAM41axbZfY9Sz3g,7271
82
+ psdi_data_conversion/templates/index.htm,sha256=zY9zihO6adJwLU8bB-iaz0AAsRvg24CNx2gVXJFqNLw,7858
83
+ psdi_data_conversion/templates/report.htm,sha256=bru_5EtKqHtKnQ3JB9HpTdK047zCwd5akTLQr2pGd5c,5612
78
84
  psdi_data_conversion/testing/__init__.py,sha256=Xku7drtLTYLLPsd403eC0LIEa_iohVifyeyAITy2w7U,135
79
85
  psdi_data_conversion/testing/constants.py,sha256=BtIafruSobZ9cFY0VW5Bu209eiftnN8b3ObouZBrFQU,521
80
86
  psdi_data_conversion/testing/conversion_callbacks.py,sha256=ATR-_BsYCUN8KyOyUjfdWCELzySxLN5jOI0JyrQnmHQ,18858
81
- psdi_data_conversion/testing/conversion_test_specs.py,sha256=8W97tI6dVbHE9BEW76dsKDlfsm5oTlrlntG--b0h8HU,26106
87
+ psdi_data_conversion/testing/conversion_test_specs.py,sha256=PFzTZYonQ0PsZBKjcn0Hp-UPbwphT3zRH5v-VdNImmQ,27585
82
88
  psdi_data_conversion/testing/gui.py,sha256=ul7ixYANIzmOG2ZNOZmQO6wsHmGHdiBGAlw-KuoN0j8,19085
83
- psdi_data_conversion/testing/utils.py,sha256=YrFxjyiIx1seph0j7jCUgAVm6HvXY9QJjx0MvNJRbfw,26134
84
- psdi_data_conversion-0.1.6.dist-info/METADATA,sha256=8izFjlTGH6O5-U491Avbgc70CyTuUFHucLv8ZnwI92M,48108
85
- psdi_data_conversion-0.1.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
86
- psdi_data_conversion-0.1.6.dist-info/entry_points.txt,sha256=xL7XTzaPRr2E67WhOD1M1Q-76hB8ausQlnNiHzuZQPA,123
87
- psdi_data_conversion-0.1.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
88
- psdi_data_conversion-0.1.6.dist-info/RECORD,,
89
+ psdi_data_conversion/testing/utils.py,sha256=A2CDiGr4Gah1eRvGwFmHt1m0F7RdXOxzCuTyYhcAIR4,26122
90
+ psdi_data_conversion-0.2.0.dist-info/METADATA,sha256=_GG0nAM1Dm9QdA5DW9UZVPWf9izJNgwKqj7OeNfy9pU,48472
91
+ psdi_data_conversion-0.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
+ psdi_data_conversion-0.2.0.dist-info/entry_points.txt,sha256=xL7XTzaPRr2E67WhOD1M1Q-76hB8ausQlnNiHzuZQPA,123
93
+ psdi_data_conversion-0.2.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
94
+ psdi_data_conversion-0.2.0.dist-info/RECORD,,
@@ -1,255 +0,0 @@
1
- <!--
2
- accessibility.htm
3
- Version 1.0, 7th June 2024
4
- -->
5
-
6
- <!DOCTYPE html>
7
- <html>
8
-
9
- <head>
10
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
- <title>PSDI Data Conversion Service</title>
12
- <link rel="icon" type="image/x-icon" href="../img/psdi-icon-dark.svg">
13
- <link href="https://fonts.googleapis.com/css?family=Lato:400" rel="stylesheet" type="text/css">
14
- <link href="https://fonts.googleapis.com/css?family=Open+Sans+Condensed:700" rel="stylesheet" type="text/css">
15
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:400" rel="stylesheet" type="text/css">
16
- <link href="https://fonts.googleapis.com/css?family=Lexend:400" rel="stylesheet" type="text/css">
17
- <link rel="stylesheet" href="../styles/format.css">
18
-
19
- <script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4="
20
- crossorigin="anonymous"></script>
21
-
22
- <script src="../javascript/load_accessibility.js"></script>
23
- <script src="../javascript/common.js" type="module"></script>
24
- <script src="../javascript/psdi-common.js" type="module"></script>
25
- <script src="../javascript/accessibility.js" type="module" language="JavaScript"></script>
26
- </head>
27
-
28
- <body marginwidth="0">
29
-
30
- <!-- Cover to hide element loading and make page transitions seem smoother -->
31
- <div id="cover"></div>
32
-
33
- <header class="header" id="psdi-header"></header>
34
-
35
- <div class="hero">
36
- <div class="max-width-box">
37
- <h1 class="hero__title marginless_header">Accessibility</h1>
38
- </div>
39
- </div>
40
-
41
- <form name="gui">
42
- <div class="max-width-box">
43
- <p>Select accessibility settings below as required, in any order. Each new setting immediately comes into effect
44
- on this page only, in the first instance. Once the appearance of the page is satisfactory, clicking on the
45
- 'Apply' button applies the settings to the entire website. Leaving the page without clicking on 'Apply' results
46
- in the changes being lost. Note that page appearance may vary slightly according to the browser used.</p>
47
- <p>The colour options here are not compatible with the dark-mode toggle in the header bar. If a custom dark scheme
48
- is desired, the appropriate colours can be selected in light-mode.</p>
49
- <div class="access-options">
50
- <div class="access-option-container">
51
- <p>
52
- <label for="font" id="fontLabel">Font:</label><br>
53
- <select id="font">
54
- <option value="Default">Default</option>
55
- <option value="Arial" style="font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;">Arial</option>
56
- <option value="Calibri"
57
- style="font-family: Calibri, Candara, Segoe, 'Segoe UI', Optima, Arial, sans-serif;">Calibri</option>
58
- <option value="Comic Sans" style="font-family: 'Comic Sans MS', 'Comic Sans', sans-serif;">Comic Sans
59
- </option>
60
- <option value="Courier New"
61
- style="font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;">
62
- Courier New</option>
63
- <option value="Georgia" style="font-family: Georgia, Times, 'Times New Roman', serif">Georgia
64
- </option>
65
- <option value="Helvetica" style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif">Helvetica
66
- </option>
67
- <option value="Lexend" style="font-family: Lexend, sans-serif;">Lexend</option>
68
- <option value="Lucida Bright" style="font-family: 'Lucida Bright', Georgia, serif">Lucida Bright
69
- </option>
70
- <option value="Open Sans" style="font-family: Open Sans, sans-serif;">Open Sans
71
- </option>
72
- <option value="Tahoma" style="font-family: Tahoma, Verdana, Segoe, sans-serif;">Tahoma</option>
73
- <option value="Times New Roman"
74
- style="font-family: TimesNewRoman, 'Times New Roman', Times, Baskerville, Georgia, serif;">Times New
75
- Roman</option>
76
- <option value="Trebuchet"
77
- style="font-family: 'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, sans-serif;">
78
- Trebuchet</option>
79
- <option value="Verdana" style="font-family: Verdana, Geneva, sans-serif;">Verdana</option>
80
- </select><br>
81
- </p>
82
- </div>
83
- <div class="access-option-container">
84
- <p>
85
- <label for="size" id="sizeLabel">Font size (px):</label><br>
86
- <select id="size">
87
- <option value="Default">Default</option>
88
- <option value="14" style="font-size: 14px;">14</option>
89
- <option value="15" style="font-size: 15px;">15</option>
90
- <option value="16" style="font-size: 16px;">16</option>
91
- <option value="17" style="font-size: 17px;">17</option>
92
- <option value="18" style="font-size: 18px;">18</option>
93
- <option value="19" style="font-size: 19px;">19</option>
94
- <option value="20" style="font-size: 20px;">20</option>
95
- <option value="21" style="font-size: 21px;">21</option>
96
- </select>
97
- </p>
98
- </div>
99
- <div class="access-option-container">
100
- <p>
101
- <label for="weight" id="weightLabel">Font weight:</label><br>
102
- <select id="weight">
103
- <option value="Default" style="font-weight: normal;">Default</option>
104
- <option value="Bold" style="font-weight: bold;">Bold</option>
105
- </select>
106
- </p>
107
- </div>
108
- <div class="access-option-container">
109
- <p>
110
- <label for="letter" id="letterLabel">Letter spacing (px):</label><br>
111
- <select id="letter">
112
- <!-- Limitations of how the select element works prevent us from showing a preview of this element
113
- in the dropdown -->
114
- <option value="Default">Default</option>
115
- <option value="0.5">0.5</option>
116
- <option value="1.0">1.0</option>
117
- <option value="1.5">1.5</option>
118
- <option value="2.0">2.0</option>
119
- <option value="2.5">2.5</option>
120
- <option value="3.0">3.0</option>
121
- <option value="3.5">3.5</option>
122
- </select>
123
- </p>
124
- </div>
125
- <div class="access-option-container">
126
- <p>
127
- <label for="line" id="lineLabel">Line spacing:</label><br>
128
- <select id="line">
129
- <!-- Limitations of how the select element works prevent us from showing a preview of this element
130
- in the dropdown -->
131
- <option value="Default">Default</option>
132
- <option value="1.0">1.0</option>
133
- <option value="1.1">1.1</option>
134
- <option value="1.2">1.2</option>
135
- <option value="1.3">1.3</option>
136
- <option value="1.4">1.4</option>
137
- <option value="1.5">1.5</option>
138
- <option value="1.6">1.6</option>
139
- <option value="1.7">1.7</option>
140
- <option value="1.8">1.8</option>
141
- <option value="1.9">1.9</option>
142
- <option value="2.0">2.0</option>
143
- </select>
144
- </p>
145
- </div>
146
- <div class="access-option-container lm-only">
147
- <p>
148
- <label for="dark-colour" id="colourLabel">Primary font colour:</label><br>
149
- <select id="dark-colour">
150
- <option value="Default">Default</option>
151
- <option value="White" style="color: White">White</option>
152
- <option value="LightGrey" style="color: LightGrey">LightGrey</option>
153
- <option value="DarkGrey" style="color: DarkGrey">DarkGrey</option>
154
- <option value="Black" style="color: Black">Black</option>
155
- <option value="LightBlue" style="color: LightBlue">LightBlue</option>
156
- <option value="Blue" style="color: Blue">Blue</option>
157
- <option value="DarkBlue" style="color: DarkBlue">DarkBlue</option>
158
- <option value="Purple" style="color: Purple">Purple</option>
159
- <option value="Pink" style="color: Pink">Pink</option>
160
- <option value="Red" style="color: Red">Red</option>
161
- <option value="DarkRed" style="color: DarkRed">DarkRed</option>
162
- <option value="Orange" style="color: Orange">Orange</option>
163
- <option value="Brown" style="color: Brown">Brown</option>
164
- <option value="LightGreen" style="color: LightGreen">LightGreen</option>
165
- <option value="Green" style="color: Green">Green</option>
166
- <option value="DarkGreen" style="color: DarkGreen">DarkGreen</option>
167
- </select>
168
- </p>
169
- </div>
170
- <div class="access-option-container lm-only">
171
- <p>
172
- <label for="light-colour" id="lightColourLabel">Alternate font colour:</label><br>
173
- <select id="light-colour">
174
- <option value="Default">Default</option>
175
- <option value="White" style="color: White">White</option>
176
- <option value="LightGrey" style="color: LightGrey">LightGrey</option>
177
- <option value="DarkGrey" style="color: DarkGrey">DarkGrey</option>
178
- <option value="Black" style="color: Black">Black</option>
179
- <option value="LightBlue" style="color: LightBlue">LightBlue</option>
180
- <option value="Blue" style="color: Blue">Blue</option>
181
- <option value="DarkBlue" style="color: DarkBlue">DarkBlue</option>
182
- <option value="Purple" style="color: Purple">Purple</option>
183
- <option value="Pink" style="color: Pink">Pink</option>
184
- <option value="Red" style="color: Red">Red</option>
185
- <option value="DarkRed" style="color: DarkRed">DarkRed</option>
186
- <option value="Orange" style="color: Orange">Orange</option>
187
- <option value="Brown" style="color: Brown">Brown</option>
188
- <option value="LightGreen" style="color: LightGreen">LightGreen</option>
189
- <option value="Green" style="color: Green">Green</option>
190
- <option value="DarkGreen" style="color: DarkGreen">DarkGreen</option>
191
- </select>
192
- </p>
193
- </div>
194
- <div class="access-option-container lm-only">
195
- <p>
196
- <label for="lightBackground" id="lightBackgroundLabel">Primary background colour:</label><br>
197
- <select id="light-background">
198
- <option value="Default">Default</option>
199
- <option value="White" style="background-color: White">White</option>
200
- <option value="LightGrey" style="background-color: LightGrey">LightGrey</option>
201
- <option value="DarkGrey" style="background-color: DarkGrey">DarkGrey</option>
202
- <option value="Black" style="background-color: Black">Black</option>
203
- <option value="LightBlue" style="background-color: LightBlue">LightBlue</option>
204
- <option value="Blue" style="background-color: Blue">Blue</option>
205
- <option value="DarkBlue" style="background-color: DarkBlue">DarkBlue</option>
206
- <option value="Purple" style="background-color: Purple">Purple</option>
207
- <option value="Pink" style="background-color: Pink">Pink</option>
208
- <option value="Red" style="background-color: Red">Red</option>
209
- <option value="DarkRed" style="background-color: DarkRed">DarkRed</option>
210
- <option value="Orange" style="background-color: Orange">Orange</option>
211
- <option value="Brown" style="background-color: Brown">Brown</option>
212
- <option value="LightGreen" style="background-color: LightGreen">LightGreen</option>
213
- <option value="Green" style="background-color: Green">Green</option>
214
- <option value="DarkGreen" style="background-color: DarkGreen">DarkGreen</option>
215
- </select>
216
- </p>
217
- </div>
218
- <div class="access-option-container lm-only">
219
- <p>
220
- <label for="darkBackground" id="darkBackgroundLabel">Alternate background colour:</label><br>
221
- <select id="dark-background">
222
- <option value="Default">Default</option>
223
- <option value="White" style="background-color: White">White</option>
224
- <option value="LightGrey" style="background-color: LightGrey">LightGrey</option>
225
- <option value="DarkGrey" style="background-color: DarkGrey">DarkGrey</option>
226
- <option value="Black" style="background-color: Black">Black</option>
227
- <option value="LightBlue" style="background-color: LightBlue">LightBlue</option>
228
- <option value="Blue" style="background-color: Blue">Blue</option>
229
- <option value="DarkBlue" style="background-color: DarkBlue">DarkBlue</option>
230
- <option value="Purple" style="background-color: Purple">Purple</option>
231
- <option value="Pink" style="background-color: Pink">Pink</option>
232
- <option value="Red" style="background-color: Red">Red</option>
233
- <option value="DarkRed" style="background-color: DarkRed">DarkRed</option>
234
- <option value="Orange" style="background-color: Orange">Orange</option>
235
- <option value="Brown" style="background-color: Brown">Brown</option>
236
- <option value="LightGreen" style="background-color: LightGreen">Green</option>
237
- <option value="Green" style="background-color: Green">Green</option>
238
- <option value="DarkGreen" style="background-color: DarkGreen">DarkGreen</option>
239
- </select>
240
- </p>
241
- </div>
242
- </div>
243
- <input type="button" class="button" value=" Reset " name="resetButton" id="resetButton">
244
- <br><span>Apply chosen settings to the entire website:</span>
245
- <input type="button" class="button" value=" Apply " name="applyButton" id="applyButton">
246
- <div class="medGap"></div>
247
-
248
- </div>
249
- </form>
250
-
251
- <footer class="footer" id="psdi-footer"></footer>
252
-
253
- </body>
254
-
255
- </html>