PyDMConverter 1.0.4__tar.gz → 1.1.0__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.
Files changed (208) hide show
  1. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.github/workflows/gh-pages.yml +6 -3
  2. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.github/workflows/lint.yml +2 -2
  3. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.github/workflows/pypi_release.yml +3 -3
  4. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.github/workflows/tests.yml +4 -4
  5. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.gitignore +4 -0
  6. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PKG-INFO +1 -1
  7. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PyDMConverter.egg-info/PKG-INFO +1 -1
  8. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PyDMConverter.egg-info/SOURCES.txt +58 -7
  9. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PyDMConverter.egg-info/scm_file_list.json +151 -100
  10. pydmconverter-1.1.0/PyDMConverter.egg-info/scm_version.json +8 -0
  11. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/__main__.py +6 -4
  12. pydmconverter-1.1.0/pydmconverter/edm/edm_qt.py +170 -0
  13. pydmconverter-1.1.0/pydmconverter/edm/ir_adapter.py +919 -0
  14. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/edm/parser.py +88 -44
  15. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/edm/parser_helpers.py +14 -3
  16. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/builder.py +73 -10
  17. pydmconverter-1.1.0/pydmconverter/ir/data/VENDORED_SCHEMA.md +26 -0
  18. pydmconverter-1.1.0/pydmconverter/ir/data/screen-ir.schema.json +163 -0
  19. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/absolute-canvas.json +2 -1
  20. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/arc.json +69 -0
  21. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/ellipse.json +63 -0
  22. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/embedded-display.json +29 -14
  23. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/group.json +41 -0
  24. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/line.json +78 -0
  25. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/polygon.json +83 -0
  26. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/pv-button.json +181 -0
  27. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/pv-byte-led.json +112 -0
  28. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/pv-enum-combobox.json +4 -2
  29. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/pv-label.json +25 -3
  30. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/pv-led.json +92 -0
  31. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/pv-meter.json +56 -0
  32. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/pv-radio-group.json +17 -1
  33. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/pv-spinbox.json +60 -0
  34. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/pv-text-input.json +7 -2
  35. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/qwidget-container.json +44 -0
  36. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/rectangle.json +64 -0
  37. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/regular-button.json +20 -2
  38. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/related-display-button.json +105 -0
  39. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/shell-command-button.json +64 -0
  40. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/text-label.json +12 -2
  41. pydmconverter-1.1.0/pydmconverter/ir/data/widget-registry/waveform-plot.json +62 -0
  42. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/emit.py +6 -1
  43. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/fox.py +31 -2
  44. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/macros.py +4 -2
  45. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/model.py +4 -3
  46. pydmconverter-1.1.0/pydmconverter/ir/schema.py +38 -0
  47. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/source.py +5 -0
  48. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/transforms.py +98 -0
  49. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/react.py +73 -10
  50. pydmconverter-1.1.0/pydmconverter/ui/ir_adapter.py +455 -0
  51. pydmconverter-1.0.4/tests/edm/fixtures/p0_min.edl → pydmconverter-1.1.0/tests/edm/fixtures/basic_widgets.edl +1 -1
  52. pydmconverter-1.1.0/tests/edm/fixtures/calc.list +5 -0
  53. pydmconverter-1.1.0/tests/edm/fixtures/calc_rules.edl +62 -0
  54. pydmconverter-1.1.0/tests/edm/fixtures/colors.edl +83 -0
  55. pydmconverter-1.1.0/tests/edm/fixtures/colors.list +12 -0
  56. pydmconverter-1.1.0/tests/edm/fixtures/exit_button.edl +49 -0
  57. pydmconverter-1.1.0/tests/edm/fixtures/graphics_arc.edl +61 -0
  58. pydmconverter-1.1.0/tests/edm/fixtures/graphics_bars.edl +64 -0
  59. pydmconverter-1.1.0/tests/edm/fixtures/graphics_circle.edl +29 -0
  60. pydmconverter-1.1.0/tests/edm/fixtures/graphics_group.edl +93 -0
  61. pydmconverter-1.1.0/tests/edm/fixtures/graphics_line.edl +90 -0
  62. pydmconverter-1.1.0/tests/edm/fixtures/graphics_rect.edl +62 -0
  63. pydmconverter-1.1.0/tests/edm/fixtures/indicator.edl +34 -0
  64. pydmconverter-1.1.0/tests/edm/fixtures/integration_combined.edl +242 -0
  65. pydmconverter-1.1.0/tests/edm/fixtures/integration_combined.screen.json +287 -0
  66. pydmconverter-1.1.0/tests/edm/fixtures/meter.edl +43 -0
  67. pydmconverter-1.1.0/tests/edm/fixtures/misc_buttons.edl +83 -0
  68. pydmconverter-1.1.0/tests/edm/fixtures/mmv_multiline.edl +52 -0
  69. pydmconverter-1.1.0/tests/edm/fixtures/pip_menu.edl +92 -0
  70. pydmconverter-1.1.0/tests/edm/fixtures/png.edl +27 -0
  71. pydmconverter-1.1.0/tests/edm/fixtures/radio.edl +30 -0
  72. pydmconverter-1.1.0/tests/edm/fixtures/shell_cmd.edl +38 -0
  73. pydmconverter-1.1.0/tests/edm/fixtures/symbol_states.edl +80 -0
  74. pydmconverter-1.1.0/tests/edm/fixtures/symbol_two_state.edl +44 -0
  75. pydmconverter-1.1.0/tests/edm/fixtures/textdsp.edl +60 -0
  76. pydmconverter-1.1.0/tests/edm/fixtures/unknown.edl +29 -0
  77. pydmconverter-1.1.0/tests/edm/test_batch2_widget_fixes.py +76 -0
  78. pydmconverter-1.0.4/tests/edm/test_p1_widgets.py → pydmconverter-1.1.0/tests/edm/test_byte_and_related.py +3 -3
  79. pydmconverter-1.1.0/tests/edm/test_calc_rules_and_locals.py +61 -0
  80. pydmconverter-1.1.0/tests/edm/test_channel_attrs_and_alarm_rules.py +174 -0
  81. pydmconverter-1.1.0/tests/edm/test_colors.py +135 -0
  82. pydmconverter-1.1.0/tests/edm/test_control_widgets.py +213 -0
  83. pydmconverter-1.1.0/tests/edm/test_fidelity_edm_batch.py +59 -0
  84. pydmconverter-1.1.0/tests/edm/test_graphics_widgets.py +225 -0
  85. pydmconverter-1.1.0/tests/edm/test_integration_combined.py +82 -0
  86. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/edm/test_ir_adapter.py +15 -12
  87. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/edm/test_parser.py +81 -0
  88. pydmconverter-1.1.0/tests/edm/test_pip_and_macro_declarations.py +47 -0
  89. pydmconverter-1.1.0/tests/edm/test_symbol_states.py +41 -0
  90. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/edm/test_visibility_rules.py +12 -8
  91. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/test_ir_builder.py +69 -1
  92. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/test_ir_model.py +14 -3
  93. pydmconverter-1.1.0/tests/ir/test_ir_registry.py +139 -0
  94. pydmconverter-1.1.0/tests/ir/test_ir_schema.py +82 -0
  95. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/test_ir_transforms.py +63 -0
  96. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/test_react.py +2 -2
  97. pydmconverter-1.1.0/tests/test_ui_rules.py +89 -0
  98. pydmconverter-1.0.4/tests/ui/fixtures/p0_min.ui → pydmconverter-1.1.0/tests/ui/fixtures/basic_widgets.ui +1 -1
  99. pydmconverter-1.0.4/tests/ui/fixtures/p1_widgets.ui → pydmconverter-1.1.0/tests/ui/fixtures/byte_and_related.ui +3 -3
  100. pydmconverter-1.1.0/tests/ui/fixtures/newly_supported.ui +88 -0
  101. pydmconverter-1.0.4/tests/ui/test_p1_widgets.py → pydmconverter-1.1.0/tests/ui/test_byte_and_related.py +5 -5
  102. pydmconverter-1.1.0/tests/ui/test_ir_adapter.py +326 -0
  103. pydmconverter-1.1.0/tests/ui/test_template_repeater.py +123 -0
  104. pydmconverter-1.1.0/tests/ui/test_unmapped_classes.py +190 -0
  105. pydmconverter-1.0.4/PyDMConverter.egg-info/scm_version.json +0 -8
  106. pydmconverter-1.0.4/pydmconverter/edm/edm_qt.py +0 -101
  107. pydmconverter-1.0.4/pydmconverter/edm/ir_adapter.py +0 -195
  108. pydmconverter-1.0.4/pydmconverter/ir/data/screen-ir.schema.json +0 -424
  109. pydmconverter-1.0.4/pydmconverter/ir/data/widget-registry/pv-button.json +0 -57
  110. pydmconverter-1.0.4/pydmconverter/ir/data/widget-registry/pv-byte-led.json +0 -58
  111. pydmconverter-1.0.4/pydmconverter/ir/data/widget-registry/pv-led.json +0 -50
  112. pydmconverter-1.0.4/pydmconverter/ir/data/widget-registry/related-display-button.json +0 -60
  113. pydmconverter-1.0.4/pydmconverter/ir/schema.py +0 -62
  114. pydmconverter-1.0.4/pydmconverter/ui/ir_adapter.py +0 -181
  115. pydmconverter-1.0.4/tests/ir/test_ir_registry.py +0 -74
  116. pydmconverter-1.0.4/tests/ir/test_ir_schema.py +0 -25
  117. pydmconverter-1.0.4/tests/ui/test_ir_adapter.py +0 -109
  118. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  119. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  120. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/.pre-commit-config.yaml +0 -0
  121. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/LICENSE +0 -0
  122. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PyDMConverter.egg-info/dependency_links.txt +0 -0
  123. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PyDMConverter.egg-info/entry_points.txt +0 -0
  124. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PyDMConverter.egg-info/requires.txt +0 -0
  125. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/PyDMConverter.egg-info/top_level.txt +0 -0
  126. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/README.md +0 -0
  127. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/resources/file_minus.png +0 -0
  128. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/resources/file_plus.png +0 -0
  129. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/resources/file_x.png +0 -0
  130. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/resources/folder_plus.png +0 -0
  131. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/resources/folder_search.png +0 -0
  132. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/resources/play_circle_outline.png +0 -0
  133. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/resources/settings.png +0 -0
  134. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/model/__init__.py +0 -0
  135. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/model/app_model.py +0 -0
  136. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/model/options_model.py +0 -0
  137. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/view/__init__.py +0 -0
  138. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/view/file_select_widget.py +0 -0
  139. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/view/main_window.py +0 -0
  140. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/view/main_window.ui +0 -0
  141. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/view/options_window.py +0 -0
  142. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/app/src/view/output_select_dialog.py +0 -0
  143. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/arguments.md +0 -0
  144. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/images/pydmconverter.png +0 -0
  145. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/index.md +0 -0
  146. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/custom_types.md +0 -0
  147. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/edm/converter.md +0 -0
  148. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/edm/converter_helpers.md +0 -0
  149. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/edm/menumux.md +0 -0
  150. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/edm/parser.md +0 -0
  151. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/edm/parser_helpers.md +0 -0
  152. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/index.md +0 -0
  153. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/pydm-converter-tool.md +0 -0
  154. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/widgets.md +0 -0
  155. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/reference/widgets_helpers.md +0 -0
  156. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/docs/user_guide.md +0 -0
  157. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/environment.yml +0 -0
  158. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/examples/TEM_mapping.edl +0 -0
  159. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/examples/all_bsy0_main.edl +0 -0
  160. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/examples/all_bsy0_main_with_groups.edl +0 -0
  161. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/examples/prosilica.edl +0 -0
  162. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/mkdocs.yml +0 -0
  163. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/__init__.py +0 -0
  164. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/custom_types.py +0 -0
  165. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/edm/__init__.py +0 -0
  166. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/edm/converter.py +0 -0
  167. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/edm/converter_helpers.py +0 -0
  168. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/edm/menumux.py +0 -0
  169. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/exceptions.py +0 -0
  170. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/__init__.py +0 -0
  171. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/base.py +0 -0
  172. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/.beaver-snapshot-sha +0 -0
  173. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/frame.json +0 -0
  174. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/group-box.json +0 -0
  175. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/image-view.json +0 -0
  176. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/pv-checkbox.json +0 -0
  177. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/pv-progress-bar.json +0 -0
  178. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/pv-slider.json +0 -0
  179. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/scroll-area.json +0 -0
  180. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/data/widget-registry/tabs.json +0 -0
  181. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/ids.py +0 -0
  182. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ir/registry.py +0 -0
  183. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/launch_gui.sh +0 -0
  184. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/sites/__init__.py +0 -0
  185. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/sites/slac.py +0 -0
  186. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/ui/__init__.py +0 -0
  187. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/widgets.py +0 -0
  188. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pydmconverter/widgets_helpers.py +0 -0
  189. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/pyproject.toml +0 -0
  190. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/setup.cfg +0 -0
  191. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/__init__.py +0 -0
  192. /pydmconverter-1.0.4/tests/edm/fixtures/p1_widgets.edl → /pydmconverter-1.1.0/tests/edm/fixtures/byte_and_related.edl +0 -0
  193. /pydmconverter-1.0.4/tests/edm/fixtures/p0_vis.edl → /pydmconverter-1.1.0/tests/edm/fixtures/visibility.edl +0 -0
  194. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/edm/test_converter.py +0 -0
  195. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/edm/test_converter_helpers.py +0 -0
  196. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/edm/test_parser_helpers.py +0 -0
  197. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/__init__.py +0 -0
  198. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/conftest.py +0 -0
  199. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/test_ir_emit.py +0 -0
  200. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/test_ir_fox.py +0 -0
  201. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ir/test_ir_ids.py +0 -0
  202. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/test_headless_import.py +0 -0
  203. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/test_main.py +0 -0
  204. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/test_options_model.py +0 -0
  205. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/test_sites.py +0 -0
  206. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/test_widgets.py +0 -0
  207. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/test_widgets_helpers.py +0 -0
  208. {pydmconverter-1.0.4 → pydmconverter-1.1.0}/tests/ui/__init__.py +0 -0
@@ -7,6 +7,9 @@ on:
7
7
  branches:
8
8
  - main
9
9
 
10
+ permissions:
11
+ contents: write
12
+
10
13
  jobs:
11
14
  deploy:
12
15
  if: ${{ github.repository == 'slaclab/pydm-converter-tool' }}
@@ -16,8 +19,8 @@ jobs:
16
19
  os: [ubuntu-latest]
17
20
  python-version: [3.9]
18
21
  steps:
19
- - uses: actions/checkout@v4
20
- - uses: conda-incubator/setup-miniconda@v3
22
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
23
+ - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3
21
24
  with:
22
25
  miniforge-version: latest
23
26
  use-mamba: true
@@ -32,7 +35,7 @@ jobs:
32
35
  mkdocs build
33
36
 
34
37
  - name: Deploy to gh-pages
35
- uses: peaceiris/actions-gh-pages@v4
38
+ uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4
36
39
  with:
37
40
  github_token: ${{ secrets.GITHUB_TOKEN }}
38
41
  publish_dir: ./site/
@@ -8,11 +8,11 @@ jobs:
8
8
  lint:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: actions/checkout@v4
11
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
12
12
  with:
13
13
  fetch-depth: 1
14
14
  - name: Install Python
15
- uses: actions/setup-python@v5
15
+ uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
16
16
  with:
17
17
  python-version: "3.12"
18
18
  - name: Install dependencies
@@ -11,11 +11,11 @@ jobs:
11
11
  permissions:
12
12
  id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
13
13
  steps:
14
- - uses: actions/checkout@v4
14
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
15
15
  with:
16
16
  fetch-depth: 0
17
17
  - name: Set up Python 3.12
18
- uses: actions/setup-python@v5
18
+ uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
19
19
  with:
20
20
  python-version: 3.12
21
21
  - name: Install pypa/build
@@ -25,4 +25,4 @@ jobs:
25
25
  run: |
26
26
  python -m build --sdist --outdir dist/ .
27
27
  - name: Publish package distributions to PyPI
28
- uses: pypa/gh-action-pypi-publish@release/v1
28
+ uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
@@ -20,10 +20,10 @@ jobs:
20
20
  DISPLAY: ':99.0'
21
21
  QT_MAC_WANTS_LAYER: 1 # PyQT gui tests involving qtbot interaction on macOS will fail without this
22
22
  steps:
23
- - uses: actions/checkout@v4
23
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
24
24
 
25
25
  - name: Setup Miniforge
26
- uses: conda-incubator/setup-miniconda@v3
26
+ uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3
27
27
  with:
28
28
  miniforge-version: latest
29
29
  activate-environment: pydm-converter-tool-dev
@@ -54,11 +54,11 @@ jobs:
54
54
  test-pypi-build:
55
55
  runs-on: ubuntu-latest
56
56
  steps:
57
- - uses: actions/checkout@v4
57
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
58
58
  with:
59
59
  fetch-depth: 0
60
60
  - name: Set up Python 3.10
61
- uses: actions/setup-python@v5
61
+ uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
62
62
  with:
63
63
  python-version: '3.10'
64
64
  - name: Install pypa/build
@@ -123,3 +123,7 @@ ENV/
123
123
  # Canopy IR data files (generated schema + vendored widget registry) are tracked assets
124
124
  !pydmconverter/ir/data/*.json
125
125
  !pydmconverter/ir/data/widget-registry/*.json
126
+
127
+ # EDM->IR combined integration snapshot (committed regression fixture;
128
+ # see tests/edm/test_integration_combined.py for how to regenerate it deliberately)
129
+ !tests/edm/fixtures/integration_combined.screen.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyDMConverter
3
- Version: 1.0.4
3
+ Version: 1.1.0
4
4
  Summary: converter to generate pydm .ui files from other display managers.
5
5
  Author: Devan Agrawal, Zach Domke, Ryan McClanahan, Alexander Ng, Logan Somoza, Alexandria Ikuma
6
6
  Author-email: Yekta Yazar <yazar@slac.stanford.edu>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyDMConverter
3
- Version: 1.0.4
3
+ Version: 1.1.0
4
4
  Summary: converter to generate pydm .ui files from other display managers.
5
5
  Author: Devan Agrawal, Zach Domke, Ryan McClanahan, Alexander Ng, Logan Somoza, Alexandria Ikuma
6
6
  Author-email: Yekta Yazar <yazar@slac.stanford.edu>
@@ -81,28 +81,40 @@ pydmconverter/ir/registry.py
81
81
  pydmconverter/ir/schema.py
82
82
  pydmconverter/ir/source.py
83
83
  pydmconverter/ir/transforms.py
84
+ pydmconverter/ir/data/VENDORED_SCHEMA.md
84
85
  pydmconverter/ir/data/screen-ir.schema.json
85
86
  pydmconverter/ir/data/widget-registry/.beaver-snapshot-sha
86
87
  pydmconverter/ir/data/widget-registry/absolute-canvas.json
88
+ pydmconverter/ir/data/widget-registry/arc.json
89
+ pydmconverter/ir/data/widget-registry/ellipse.json
87
90
  pydmconverter/ir/data/widget-registry/embedded-display.json
88
91
  pydmconverter/ir/data/widget-registry/frame.json
89
92
  pydmconverter/ir/data/widget-registry/group-box.json
93
+ pydmconverter/ir/data/widget-registry/group.json
90
94
  pydmconverter/ir/data/widget-registry/image-view.json
95
+ pydmconverter/ir/data/widget-registry/line.json
96
+ pydmconverter/ir/data/widget-registry/polygon.json
91
97
  pydmconverter/ir/data/widget-registry/pv-button.json
92
98
  pydmconverter/ir/data/widget-registry/pv-byte-led.json
93
99
  pydmconverter/ir/data/widget-registry/pv-checkbox.json
94
100
  pydmconverter/ir/data/widget-registry/pv-enum-combobox.json
95
101
  pydmconverter/ir/data/widget-registry/pv-label.json
96
102
  pydmconverter/ir/data/widget-registry/pv-led.json
103
+ pydmconverter/ir/data/widget-registry/pv-meter.json
97
104
  pydmconverter/ir/data/widget-registry/pv-progress-bar.json
98
105
  pydmconverter/ir/data/widget-registry/pv-radio-group.json
99
106
  pydmconverter/ir/data/widget-registry/pv-slider.json
107
+ pydmconverter/ir/data/widget-registry/pv-spinbox.json
100
108
  pydmconverter/ir/data/widget-registry/pv-text-input.json
109
+ pydmconverter/ir/data/widget-registry/qwidget-container.json
110
+ pydmconverter/ir/data/widget-registry/rectangle.json
101
111
  pydmconverter/ir/data/widget-registry/regular-button.json
102
112
  pydmconverter/ir/data/widget-registry/related-display-button.json
103
113
  pydmconverter/ir/data/widget-registry/scroll-area.json
114
+ pydmconverter/ir/data/widget-registry/shell-command-button.json
104
115
  pydmconverter/ir/data/widget-registry/tabs.json
105
116
  pydmconverter/ir/data/widget-registry/text-label.json
117
+ pydmconverter/ir/data/widget-registry/waveform-plot.json
106
118
  pydmconverter/sites/__init__.py
107
119
  pydmconverter/sites/slac.py
108
120
  pydmconverter/ui/__init__.py
@@ -113,18 +125,54 @@ tests/test_main.py
113
125
  tests/test_options_model.py
114
126
  tests/test_react.py
115
127
  tests/test_sites.py
128
+ tests/test_ui_rules.py
116
129
  tests/test_widgets.py
117
130
  tests/test_widgets_helpers.py
131
+ tests/edm/test_batch2_widget_fixes.py
132
+ tests/edm/test_byte_and_related.py
133
+ tests/edm/test_calc_rules_and_locals.py
134
+ tests/edm/test_channel_attrs_and_alarm_rules.py
135
+ tests/edm/test_colors.py
136
+ tests/edm/test_control_widgets.py
118
137
  tests/edm/test_converter.py
119
138
  tests/edm/test_converter_helpers.py
139
+ tests/edm/test_fidelity_edm_batch.py
140
+ tests/edm/test_graphics_widgets.py
141
+ tests/edm/test_integration_combined.py
120
142
  tests/edm/test_ir_adapter.py
121
- tests/edm/test_p1_widgets.py
122
143
  tests/edm/test_parser.py
123
144
  tests/edm/test_parser_helpers.py
145
+ tests/edm/test_pip_and_macro_declarations.py
146
+ tests/edm/test_symbol_states.py
124
147
  tests/edm/test_visibility_rules.py
125
- tests/edm/fixtures/p0_min.edl
126
- tests/edm/fixtures/p0_vis.edl
127
- tests/edm/fixtures/p1_widgets.edl
148
+ tests/edm/fixtures/basic_widgets.edl
149
+ tests/edm/fixtures/byte_and_related.edl
150
+ tests/edm/fixtures/calc.list
151
+ tests/edm/fixtures/calc_rules.edl
152
+ tests/edm/fixtures/colors.edl
153
+ tests/edm/fixtures/colors.list
154
+ tests/edm/fixtures/exit_button.edl
155
+ tests/edm/fixtures/graphics_arc.edl
156
+ tests/edm/fixtures/graphics_bars.edl
157
+ tests/edm/fixtures/graphics_circle.edl
158
+ tests/edm/fixtures/graphics_group.edl
159
+ tests/edm/fixtures/graphics_line.edl
160
+ tests/edm/fixtures/graphics_rect.edl
161
+ tests/edm/fixtures/indicator.edl
162
+ tests/edm/fixtures/integration_combined.edl
163
+ tests/edm/fixtures/integration_combined.screen.json
164
+ tests/edm/fixtures/meter.edl
165
+ tests/edm/fixtures/misc_buttons.edl
166
+ tests/edm/fixtures/mmv_multiline.edl
167
+ tests/edm/fixtures/pip_menu.edl
168
+ tests/edm/fixtures/png.edl
169
+ tests/edm/fixtures/radio.edl
170
+ tests/edm/fixtures/shell_cmd.edl
171
+ tests/edm/fixtures/symbol_states.edl
172
+ tests/edm/fixtures/symbol_two_state.edl
173
+ tests/edm/fixtures/textdsp.edl
174
+ tests/edm/fixtures/unknown.edl
175
+ tests/edm/fixtures/visibility.edl
128
176
  tests/ir/__init__.py
129
177
  tests/ir/conftest.py
130
178
  tests/ir/test_ir_builder.py
@@ -136,7 +184,10 @@ tests/ir/test_ir_registry.py
136
184
  tests/ir/test_ir_schema.py
137
185
  tests/ir/test_ir_transforms.py
138
186
  tests/ui/__init__.py
187
+ tests/ui/test_byte_and_related.py
139
188
  tests/ui/test_ir_adapter.py
140
- tests/ui/test_p1_widgets.py
141
- tests/ui/fixtures/p0_min.ui
142
- tests/ui/fixtures/p1_widgets.ui
189
+ tests/ui/test_template_repeater.py
190
+ tests/ui/test_unmapped_classes.py
191
+ tests/ui/fixtures/basic_widgets.ui
192
+ tests/ui/fixtures/byte_and_related.ui
193
+ tests/ui/fixtures/newly_supported.ui
@@ -1,138 +1,189 @@
1
1
  {
2
2
  "files": [
3
+ "mkdocs.yml",
3
4
  ".pre-commit-config.yaml",
4
- "README.md",
5
+ "pyproject.toml",
5
6
  "environment.yml",
6
7
  "LICENSE",
7
- "pyproject.toml",
8
- "mkdocs.yml",
8
+ "README.md",
9
9
  ".gitignore",
10
- "docs/arguments.md",
11
- "docs/user_guide.md",
12
- "docs/index.md",
13
- "docs/images/pydmconverter.png",
14
- "docs/reference/widgets_helpers.md",
15
- "docs/reference/widgets.md",
16
- "docs/reference/custom_types.md",
17
- "docs/reference/pydm-converter-tool.md",
18
- "docs/reference/index.md",
19
- "docs/reference/edm/parser_helpers.md",
20
- "docs/reference/edm/parser.md",
21
- "docs/reference/edm/menumux.md",
22
- "docs/reference/edm/converter.md",
23
- "docs/reference/edm/converter_helpers.md",
24
- "tests/test_react.py",
10
+ ".github/ISSUE_TEMPLATE/bug-report.yml",
11
+ ".github/ISSUE_TEMPLATE/feature-request.yml",
12
+ ".github/workflows/pypi_release.yml",
13
+ ".github/workflows/lint.yml",
14
+ ".github/workflows/gh-pages.yml",
15
+ ".github/workflows/tests.yml",
16
+ "examples/all_bsy0_main.edl",
17
+ "examples/prosilica.edl",
18
+ "examples/all_bsy0_main_with_groups.edl",
19
+ "examples/TEM_mapping.edl",
25
20
  "tests/test_headless_import.py",
26
- "tests/__init__.py",
21
+ "tests/test_react.py",
27
22
  "tests/test_widgets_helpers.py",
28
23
  "tests/test_widgets.py",
29
- "tests/test_sites.py",
24
+ "tests/__init__.py",
30
25
  "tests/test_options_model.py",
26
+ "tests/test_sites.py",
31
27
  "tests/test_main.py",
32
- "tests/ir/test_ir_transforms.py",
28
+ "tests/test_ui_rules.py",
29
+ "tests/edm/test_channel_attrs_and_alarm_rules.py",
30
+ "tests/edm/test_graphics_widgets.py",
31
+ "tests/edm/test_control_widgets.py",
32
+ "tests/edm/test_symbol_states.py",
33
+ "tests/edm/test_parser_helpers.py",
34
+ "tests/edm/test_integration_combined.py",
35
+ "tests/edm/test_visibility_rules.py",
36
+ "tests/edm/test_colors.py",
37
+ "tests/edm/test_fidelity_edm_batch.py",
38
+ "tests/edm/test_byte_and_related.py",
39
+ "tests/edm/test_pip_and_macro_declarations.py",
40
+ "tests/edm/test_calc_rules_and_locals.py",
41
+ "tests/edm/test_parser.py",
42
+ "tests/edm/test_converter_helpers.py",
43
+ "tests/edm/test_batch2_widget_fixes.py",
44
+ "tests/edm/test_converter.py",
45
+ "tests/edm/test_ir_adapter.py",
46
+ "tests/edm/fixtures/byte_and_related.edl",
47
+ "tests/edm/fixtures/graphics_arc.edl",
48
+ "tests/edm/fixtures/unknown.edl",
49
+ "tests/edm/fixtures/pip_menu.edl",
50
+ "tests/edm/fixtures/png.edl",
51
+ "tests/edm/fixtures/visibility.edl",
52
+ "tests/edm/fixtures/calc_rules.edl",
53
+ "tests/edm/fixtures/exit_button.edl",
54
+ "tests/edm/fixtures/graphics_line.edl",
55
+ "tests/edm/fixtures/meter.edl",
56
+ "tests/edm/fixtures/integration_combined.edl",
57
+ "tests/edm/fixtures/radio.edl",
58
+ "tests/edm/fixtures/colors.edl",
59
+ "tests/edm/fixtures/calc.list",
60
+ "tests/edm/fixtures/symbol_two_state.edl",
61
+ "tests/edm/fixtures/symbol_states.edl",
62
+ "tests/edm/fixtures/graphics_bars.edl",
63
+ "tests/edm/fixtures/misc_buttons.edl",
64
+ "tests/edm/fixtures/textdsp.edl",
65
+ "tests/edm/fixtures/indicator.edl",
66
+ "tests/edm/fixtures/shell_cmd.edl",
67
+ "tests/edm/fixtures/graphics_circle.edl",
68
+ "tests/edm/fixtures/colors.list",
69
+ "tests/edm/fixtures/mmv_multiline.edl",
70
+ "tests/edm/fixtures/basic_widgets.edl",
71
+ "tests/edm/fixtures/integration_combined.screen.json",
72
+ "tests/edm/fixtures/graphics_group.edl",
73
+ "tests/edm/fixtures/graphics_rect.edl",
74
+ "tests/ui/test_template_repeater.py",
75
+ "tests/ui/test_unmapped_classes.py",
76
+ "tests/ui/__init__.py",
77
+ "tests/ui/test_byte_and_related.py",
78
+ "tests/ui/test_ir_adapter.py",
79
+ "tests/ui/fixtures/basic_widgets.ui",
80
+ "tests/ui/fixtures/byte_and_related.ui",
81
+ "tests/ui/fixtures/newly_supported.ui",
82
+ "tests/ir/test_ir_schema.py",
83
+ "tests/ir/test_ir_registry.py",
33
84
  "tests/ir/test_ir_fox.py",
34
85
  "tests/ir/test_ir_ids.py",
86
+ "tests/ir/test_ir_builder.py",
35
87
  "tests/ir/__init__.py",
88
+ "tests/ir/test_ir_transforms.py",
36
89
  "tests/ir/test_ir_model.py",
37
- "tests/ir/test_ir_builder.py",
38
90
  "tests/ir/conftest.py",
39
- "tests/ir/test_ir_registry.py",
40
91
  "tests/ir/test_ir_emit.py",
41
- "tests/ir/test_ir_schema.py",
42
- "tests/ui/__init__.py",
43
- "tests/ui/test_ir_adapter.py",
44
- "tests/ui/test_p1_widgets.py",
45
- "tests/ui/fixtures/p1_widgets.ui",
46
- "tests/ui/fixtures/p0_min.ui",
47
- "tests/edm/test_converter_helpers.py",
48
- "tests/edm/test_ir_adapter.py",
49
- "tests/edm/test_parser_helpers.py",
50
- "tests/edm/test_parser.py",
51
- "tests/edm/test_converter.py",
52
- "tests/edm/test_p1_widgets.py",
53
- "tests/edm/test_visibility_rules.py",
54
- "tests/edm/fixtures/p0_vis.edl",
55
- "tests/edm/fixtures/p1_widgets.edl",
56
- "tests/edm/fixtures/p0_min.edl",
57
- "app/resources/file_minus.png",
58
- "app/resources/folder_search.png",
59
- "app/resources/play_circle_outline.png",
60
- "app/resources/settings.png",
61
- "app/resources/file_plus.png",
62
- "app/resources/file_x.png",
63
- "app/resources/folder_plus.png",
64
- "app/src/view/output_select_dialog.py",
65
- "app/src/view/main_window.ui",
66
- "app/src/view/__init__.py",
67
- "app/src/view/main_window.py",
68
- "app/src/view/file_select_widget.py",
69
- "app/src/view/options_window.py",
70
- "app/src/model/__init__.py",
71
- "app/src/model/app_model.py",
72
- "app/src/model/options_model.py",
73
- "pydmconverter/react.py",
74
92
  "pydmconverter/widgets.py",
93
+ "pydmconverter/react.py",
75
94
  "pydmconverter/__init__.py",
76
- "pydmconverter/exceptions.py",
77
95
  "pydmconverter/launch_gui.sh",
96
+ "pydmconverter/exceptions.py",
97
+ "pydmconverter/__main__.py",
78
98
  "pydmconverter/widgets_helpers.py",
79
99
  "pydmconverter/custom_types.py",
80
- "pydmconverter/__main__.py",
81
- "pydmconverter/ir/model.py",
82
- "pydmconverter/ir/__init__.py",
83
- "pydmconverter/ir/source.py",
100
+ "pydmconverter/edm/menumux.py",
101
+ "pydmconverter/edm/parser.py",
102
+ "pydmconverter/edm/converter_helpers.py",
103
+ "pydmconverter/edm/ir_adapter.py",
104
+ "pydmconverter/edm/edm_qt.py",
105
+ "pydmconverter/edm/__init__.py",
106
+ "pydmconverter/edm/parser_helpers.py",
107
+ "pydmconverter/edm/converter.py",
108
+ "pydmconverter/ui/ir_adapter.py",
109
+ "pydmconverter/ui/__init__.py",
110
+ "pydmconverter/sites/__init__.py",
111
+ "pydmconverter/sites/slac.py",
84
112
  "pydmconverter/ir/schema.py",
85
- "pydmconverter/ir/fox.py",
86
- "pydmconverter/ir/emit.py",
113
+ "pydmconverter/ir/macros.py",
114
+ "pydmconverter/ir/builder.py",
87
115
  "pydmconverter/ir/transforms.py",
116
+ "pydmconverter/ir/fox.py",
88
117
  "pydmconverter/ir/ids.py",
89
- "pydmconverter/ir/builder.py",
90
- "pydmconverter/ir/macros.py",
118
+ "pydmconverter/ir/__init__.py",
91
119
  "pydmconverter/ir/registry.py",
120
+ "pydmconverter/ir/source.py",
121
+ "pydmconverter/ir/model.py",
92
122
  "pydmconverter/ir/base.py",
123
+ "pydmconverter/ir/emit.py",
124
+ "pydmconverter/ir/data/VENDORED_SCHEMA.md",
93
125
  "pydmconverter/ir/data/screen-ir.schema.json",
94
- "pydmconverter/ir/data/widget-registry/pv-byte-led.json",
95
- "pydmconverter/ir/data/widget-registry/pv-label.json",
126
+ "pydmconverter/ir/data/widget-registry/line.json",
127
+ "pydmconverter/ir/data/widget-registry/arc.json",
96
128
  "pydmconverter/ir/data/widget-registry/pv-button.json",
97
- "pydmconverter/ir/data/widget-registry/regular-button.json",
129
+ "pydmconverter/ir/data/widget-registry/pv-enum-combobox.json",
130
+ "pydmconverter/ir/data/widget-registry/waveform-plot.json",
98
131
  "pydmconverter/ir/data/widget-registry/pv-progress-bar.json",
99
132
  "pydmconverter/ir/data/widget-registry/text-label.json",
100
- "pydmconverter/ir/data/widget-registry/pv-slider.json",
101
- "pydmconverter/ir/data/widget-registry/tabs.json",
102
- "pydmconverter/ir/data/widget-registry/pv-checkbox.json",
133
+ "pydmconverter/ir/data/widget-registry/shell-command-button.json",
134
+ "pydmconverter/ir/data/widget-registry/pv-meter.json",
135
+ "pydmconverter/ir/data/widget-registry/pv-led.json",
103
136
  "pydmconverter/ir/data/widget-registry/group-box.json",
104
- "pydmconverter/ir/data/widget-registry/image-view.json",
105
- "pydmconverter/ir/data/widget-registry/pv-enum-combobox.json",
106
- "pydmconverter/ir/data/widget-registry/pv-text-input.json",
107
137
  "pydmconverter/ir/data/widget-registry/.beaver-snapshot-sha",
108
- "pydmconverter/ir/data/widget-registry/scroll-area.json",
138
+ "pydmconverter/ir/data/widget-registry/pv-slider.json",
139
+ "pydmconverter/ir/data/widget-registry/pv-byte-led.json",
109
140
  "pydmconverter/ir/data/widget-registry/absolute-canvas.json",
110
- "pydmconverter/ir/data/widget-registry/frame.json",
111
- "pydmconverter/ir/data/widget-registry/embedded-display.json",
141
+ "pydmconverter/ir/data/widget-registry/group.json",
142
+ "pydmconverter/ir/data/widget-registry/image-view.json",
143
+ "pydmconverter/ir/data/widget-registry/pv-checkbox.json",
144
+ "pydmconverter/ir/data/widget-registry/rectangle.json",
112
145
  "pydmconverter/ir/data/widget-registry/related-display-button.json",
146
+ "pydmconverter/ir/data/widget-registry/qwidget-container.json",
147
+ "pydmconverter/ir/data/widget-registry/ellipse.json",
148
+ "pydmconverter/ir/data/widget-registry/pv-text-input.json",
149
+ "pydmconverter/ir/data/widget-registry/pv-spinbox.json",
150
+ "pydmconverter/ir/data/widget-registry/pv-label.json",
151
+ "pydmconverter/ir/data/widget-registry/frame.json",
113
152
  "pydmconverter/ir/data/widget-registry/pv-radio-group.json",
114
- "pydmconverter/ir/data/widget-registry/pv-led.json",
115
- "pydmconverter/ui/__init__.py",
116
- "pydmconverter/ui/ir_adapter.py",
117
- "pydmconverter/sites/__init__.py",
118
- "pydmconverter/sites/slac.py",
119
- "pydmconverter/edm/__init__.py",
120
- "pydmconverter/edm/ir_adapter.py",
121
- "pydmconverter/edm/converter_helpers.py",
122
- "pydmconverter/edm/menumux.py",
123
- "pydmconverter/edm/parser.py",
124
- "pydmconverter/edm/converter.py",
125
- "pydmconverter/edm/edm_qt.py",
126
- "pydmconverter/edm/parser_helpers.py",
127
- "examples/prosilica.edl",
128
- "examples/TEM_mapping.edl",
129
- "examples/all_bsy0_main.edl",
130
- "examples/all_bsy0_main_with_groups.edl",
131
- ".github/ISSUE_TEMPLATE/feature-request.yml",
132
- ".github/ISSUE_TEMPLATE/bug-report.yml",
133
- ".github/workflows/pypi_release.yml",
134
- ".github/workflows/tests.yml",
135
- ".github/workflows/lint.yml",
136
- ".github/workflows/gh-pages.yml"
153
+ "pydmconverter/ir/data/widget-registry/polygon.json",
154
+ "pydmconverter/ir/data/widget-registry/scroll-area.json",
155
+ "pydmconverter/ir/data/widget-registry/regular-button.json",
156
+ "pydmconverter/ir/data/widget-registry/embedded-display.json",
157
+ "pydmconverter/ir/data/widget-registry/tabs.json",
158
+ "app/resources/file_plus.png",
159
+ "app/resources/play_circle_outline.png",
160
+ "app/resources/file_minus.png",
161
+ "app/resources/settings.png",
162
+ "app/resources/file_x.png",
163
+ "app/resources/folder_plus.png",
164
+ "app/resources/folder_search.png",
165
+ "app/src/model/app_model.py",
166
+ "app/src/model/options_model.py",
167
+ "app/src/model/__init__.py",
168
+ "app/src/view/main_window.ui",
169
+ "app/src/view/output_select_dialog.py",
170
+ "app/src/view/options_window.py",
171
+ "app/src/view/__init__.py",
172
+ "app/src/view/main_window.py",
173
+ "app/src/view/file_select_widget.py",
174
+ "docs/user_guide.md",
175
+ "docs/arguments.md",
176
+ "docs/index.md",
177
+ "docs/images/pydmconverter.png",
178
+ "docs/reference/widgets_helpers.md",
179
+ "docs/reference/custom_types.md",
180
+ "docs/reference/widgets.md",
181
+ "docs/reference/pydm-converter-tool.md",
182
+ "docs/reference/index.md",
183
+ "docs/reference/edm/parser.md",
184
+ "docs/reference/edm/converter_helpers.md",
185
+ "docs/reference/edm/parser_helpers.md",
186
+ "docs/reference/edm/menumux.md",
187
+ "docs/reference/edm/converter.md"
137
188
  ]
138
189
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.1.0",
3
+ "distance": 0,
4
+ "node": "g019ee4e93a218c374536cefb02b823c824565ee4",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-07-22"
8
+ }
@@ -41,7 +41,7 @@ def run(
41
41
  out_format="json",
42
42
  ):
43
43
  if target == "react":
44
- run_react(input_file, output_file, override)
44
+ run_react(input_file, output_file, override, site=site, calc_list=calc_list)
45
45
  return
46
46
 
47
47
  input_path: Path = Path(input_file)
@@ -75,18 +75,20 @@ def run(
75
75
  print(f"Failed files: {', '.join(map(lambda path: str(path), files_failed))}")
76
76
 
77
77
 
78
- def run_react(input_file, output_file, override) -> None:
78
+ def run_react(input_file, output_file, override, site=None, calc_list=None) -> None:
79
79
  """Convert .edl/.ui to Canopy Screen IR JSON (the --target react path)."""
80
80
  from pydmconverter import react
81
81
 
82
82
  input_path = Path(input_file)
83
83
  output_path = Path(output_file)
84
84
  if input_path.is_file():
85
- out = react.convert_file(input_path, output_path, override=override)
85
+ out = react.convert_file(input_path, output_path, override=override, calc_list_path=calc_list, site=site)
86
86
  print(f"Converted {input_path} -> {out}")
87
87
  else:
88
88
  output_path.mkdir(parents=True, exist_ok=True)
89
- found, failed = react.convert_folder(input_path, output_path, override=override)
89
+ found, failed = react.convert_folder(
90
+ input_path, output_path, override=override, calc_list_path=calc_list, site=site
91
+ )
90
92
  if found == 0:
91
93
  print(f"No {' or '.join(react.SUPPORTED_SUFFIXES)} files found in {input_path}")
92
94
  else: