PyDMConverter 0.0.0__tar.gz → 1.0.2__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.
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/PKG-INFO +1 -1
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/PyDMConverter.egg-info/PKG-INFO +1 -1
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/PyDMConverter.egg-info/SOURCES.txt +2 -1
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/PyDMConverter.egg-info/top_level.txt +1 -0
- pydmconverter-1.0.2/docs/user_guide.md +73 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/__main__.py +10 -2
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/edm/converter.py +2 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/edm/converter_helpers.py +468 -55
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/edm/parser.py +2 -1
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/edm/parser_helpers.py +25 -3
- pydmconverter-1.0.2/pydmconverter/launch_gui.sh +32 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/widgets.py +107 -32
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/widgets_helpers.py +51 -4
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pyproject.toml +6 -1
- pydmconverter-1.0.2/tests/edm/test_converter.py +223 -0
- pydmconverter-1.0.2/tests/edm/test_converter_helpers.py +85 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/tests/edm/test_parser.py +14 -4
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/tests/edm/test_parser_helpers.py +24 -24
- pydmconverter-1.0.2/tests/test_main.py +283 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/tests/test_widgets.py +19 -8
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/tests/test_widgets_helpers.py +12 -7
- pydmconverter-0.0.0/docs/user_guide.md +0 -43
- pydmconverter-0.0.0/launch_gui.sh +0 -26
- pydmconverter-0.0.0/tests/edm/test_converter.py +0 -0
- pydmconverter-0.0.0/tests/edm/test_converter_helpers.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.github/workflows/gh-pages.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.github/workflows/lint.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.github/workflows/pypi_release.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.github/workflows/tests.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.gitignore +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/.pre-commit-config.yaml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/LICENSE +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/PyDMConverter.egg-info/dependency_links.txt +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/PyDMConverter.egg-info/entry_points.txt +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/PyDMConverter.egg-info/requires.txt +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/README.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/resources/file_minus.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/resources/file_plus.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/resources/file_x.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/resources/folder_plus.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/resources/folder_search.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/resources/play_circle_outline.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/resources/settings.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/model/__init__.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/model/app_model.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/model/options_model.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/view/__init__.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/view/file_select_widget.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/view/main_window.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/view/main_window.ui +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/view/options_window.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/app/src/view/output_select_dialog.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/arguments.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/images/pydmconverter.png +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/index.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/custom_types.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/edm/converter.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/edm/converter_helpers.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/edm/menumux.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/edm/parser.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/edm/parser_helpers.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/index.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/pydm-converter-tool.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/widgets.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/docs/reference/widgets_helpers.md +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/environment.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/examples/TEM_mapping.edl +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/examples/all_bsy0_main.edl +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/examples/all_bsy0_main_with_groups.edl +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/examples/prosilica.edl +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/mkdocs.yml +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/__init__.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/custom_types.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/edm/__init__.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/pydmconverter/edm/menumux.py +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/setup.cfg +0 -0
- {pydmconverter-0.0.0 → pydmconverter-1.0.2}/tests/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyDMConverter
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1.0.2
|
|
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:
|
|
3
|
+
Version: 1.0.2
|
|
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>
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
LICENSE
|
|
4
4
|
README.md
|
|
5
5
|
environment.yml
|
|
6
|
-
launch_gui.sh
|
|
7
6
|
mkdocs.yml
|
|
8
7
|
pyproject.toml
|
|
9
8
|
.github/ISSUE_TEMPLATE/bug-report.yml
|
|
@@ -55,6 +54,7 @@ examples/prosilica.edl
|
|
|
55
54
|
pydmconverter/__init__.py
|
|
56
55
|
pydmconverter/__main__.py
|
|
57
56
|
pydmconverter/custom_types.py
|
|
57
|
+
pydmconverter/launch_gui.sh
|
|
58
58
|
pydmconverter/widgets.py
|
|
59
59
|
pydmconverter/widgets_helpers.py
|
|
60
60
|
pydmconverter/edm/__init__.py
|
|
@@ -64,6 +64,7 @@ pydmconverter/edm/menumux.py
|
|
|
64
64
|
pydmconverter/edm/parser.py
|
|
65
65
|
pydmconverter/edm/parser_helpers.py
|
|
66
66
|
tests/__init__.py
|
|
67
|
+
tests/test_main.py
|
|
67
68
|
tests/test_widgets.py
|
|
68
69
|
tests/test_widgets_helpers.py
|
|
69
70
|
tests/edm/test_converter.py
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#Installation
|
|
2
|
+
|
|
3
|
+
##Prerequisites
|
|
4
|
+
|
|
5
|
+
## Installation Methods
|
|
6
|
+
|
|
7
|
+
### Option 1: Install from PyPI (Recommended)
|
|
8
|
+
The easiest way to install the converter is directly from PyPI:
|
|
9
|
+
``` bash
|
|
10
|
+
pip install PyDMConverter
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Option 2: Install from Source
|
|
14
|
+
If you need the latest development version or want to contribute:
|
|
15
|
+
|
|
16
|
+
#### Clone the Repository
|
|
17
|
+
``` bash
|
|
18
|
+
git clone https://github.com/slaclab/pydm-converter-tool.git
|
|
19
|
+
cd pydm-converter-tool
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
#### Set up Environment
|
|
23
|
+
Using `conda`:
|
|
24
|
+
``` bash
|
|
25
|
+
conda env create -f environment.yml
|
|
26
|
+
conda activate pydm
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Or using pip:
|
|
30
|
+
``` bash
|
|
31
|
+
pip install -e .
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
# How to Run the Converter
|
|
35
|
+
|
|
36
|
+
The converter can be run in two ways: via the command line interface (CLI) or through the graphical user interface (GUI).
|
|
37
|
+
|
|
38
|
+
## Launch the GUI
|
|
39
|
+
|
|
40
|
+
To launch the graphical interface:
|
|
41
|
+
``` bash
|
|
42
|
+
pydmconverter
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This will open the PyDM Converter GUI where you can:
|
|
46
|
+
- Select files or folders to convert
|
|
47
|
+
|
|
48
|
+
## Command Line Interface
|
|
49
|
+
|
|
50
|
+
The CLI provides two main ways to run the converter: on individual files and entire folders. Users can include additional arguments described on the [Arguments] page.
|
|
51
|
+
|
|
52
|
+
[Arguments]: arguments.md
|
|
53
|
+
|
|
54
|
+
## For individual files
|
|
55
|
+
When using the converter on a single file, the command line is:
|
|
56
|
+
``` bash
|
|
57
|
+
pydmconverter '/path/old_file.edl' 'new_file_name.ui' `
|
|
58
|
+
```
|
|
59
|
+
## For an entire folder
|
|
60
|
+
When converting an entire folder, the command line is:
|
|
61
|
+
``` bash
|
|
62
|
+
pydmconverter '/path_to_old_directory' '/new_file_location' 'old_file_type'
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Examples
|
|
66
|
+
To convert EDM file called "file.edl" to PYDM file called "file.ui" :
|
|
67
|
+
``` bash
|
|
68
|
+
pydmconverter /afs/slac/g/lcls/edm/file.edl file.ui`
|
|
69
|
+
```
|
|
70
|
+
To convert EDM files in a folder called "edm" to PYDM file in the current folder :
|
|
71
|
+
``` bash
|
|
72
|
+
pydmconverter /afs/slac/g/lcls/edm . .edl`
|
|
73
|
+
```
|
|
@@ -17,8 +17,16 @@ def run_gui() -> None:
|
|
|
17
17
|
"""
|
|
18
18
|
launch the PyDMConverter gui
|
|
19
19
|
"""
|
|
20
|
-
#
|
|
21
|
-
|
|
20
|
+
# Get the directory where this package is installed
|
|
21
|
+
package_dir = Path(__file__).parent
|
|
22
|
+
launch_script = package_dir / "launch_gui.sh"
|
|
23
|
+
|
|
24
|
+
if not launch_script.exists():
|
|
25
|
+
raise FileNotFoundError(
|
|
26
|
+
f"launch_gui.sh not found at {launch_script}. Please ensure the package was installed correctly."
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
subprocess.run(["bash", str(launch_script)], check=True)
|
|
22
30
|
|
|
23
31
|
|
|
24
32
|
def run(input_file, output_file, input_file_type=".edl", override=False, scrollable=False):
|
|
@@ -13,6 +13,7 @@ CUSTOM_WIDGET_DEFINITIONS = {
|
|
|
13
13
|
"PyDMDrawingEllipse": {"extends": "QWidget", "header": "pydm.widgets.drawing", "container": ""},
|
|
14
14
|
"PyDMDrawingLine": {"extends": "QWidget", "header": "pydm.widgets.drawing", "container": ""},
|
|
15
15
|
"PyDMDrawingPolyline": {"extends": "QWidget", "header": "pydm.widgets.drawing", "container": ""},
|
|
16
|
+
"PyDMDrawingIrregularPolygon": {"extends": "QWidget", "header": "pydm.widgets.drawing", "container": ""},
|
|
16
17
|
"PyDMLabel": {"extends": "QLabel", "header": "pydm.widgets.label", "container": ""},
|
|
17
18
|
"PyDMEnumComboBox": {"extends": "QComboBox", "header": "pydm.widgets.enum_combo_box", "container": ""},
|
|
18
19
|
"PyDMPushButton": {"extends": "QPushButton", "header": "pydm.widgets.pushbutton", "container": ""},
|
|
@@ -40,6 +41,7 @@ CUSTOM_WIDGET_DEFINITIONS = {
|
|
|
40
41
|
"PyDMByteIndicator": {"extends": "QWidget", "header": "pydm.widgets.byte", "container": ""},
|
|
41
42
|
"PyDMLineEdit": {"extends": "QLineEdit", "header": "pydm.widgets.line_edit", "container": ""},
|
|
42
43
|
"PyDMDrawingArc": {"extends": "QWidget", "header": "pydm.widgets.drawing", "container": ""},
|
|
44
|
+
"PyDMDrawingPie": {"extends": "QWidget", "header": "pydm.widgets.drawing", "container": ""},
|
|
43
45
|
"PyDMWaveformPlot": {"extends": "QWidget", "header": "pydm.widgets.waveformplot", "container": ""},
|
|
44
46
|
"PyDMScaleIndicator": {"extends": "QWidget", "header": "pydm.widgets.scale", "container": ""},
|
|
45
47
|
"PyDMShellCommand": {"extends": "QPushButton", "header": "pydm.widgets.shell_command", "container": ""},
|