summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-phoebusgen.spec420
-rw-r--r--sources1
3 files changed, 422 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..adee175 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/phoebusgen-2.6.1.tar.gz
diff --git a/python-phoebusgen.spec b/python-phoebusgen.spec
new file mode 100644
index 0000000..21db5d2
--- /dev/null
+++ b/python-phoebusgen.spec
@@ -0,0 +1,420 @@
+%global _empty_manifest_terminate_build 0
+Name: python-phoebusgen
+Version: 2.6.1
+Release: 1
+Summary: Control screen generator for Phoebus
+License: GNU General Public License v2 (GPLv2)
+URL: https://github.com/tynanford/phoebusgen
+Source0: https://mirrors.aliyun.com/pypi/web/packages/d4/3a/b29d113f7e757f6dce5160958d69ad237d1914968a6b2f46551d82b48c41/phoebusgen-2.6.1.tar.gz
+BuildArch: noarch
+
+
+%description
+# Python Module to Generate Phoebus Control Screens
+
+[![PyPI](https://img.shields.io/pypi/v/phoebusgen)](https://pypi.org/project/phoebusgen/)
+[![Python unittest Status](https://github.com/als-epics/phoebusgen/workflows/Python%20unittest/badge.svg)](https://github.com/als-epics/phoebusgen/actions)
+[![codecov](https://codecov.io/gh/als-epics/phoebusgen/branch/master/graph/badge.svg?token=Ue2BauI8IW)](https://codecov.io/gh/als-epics/phoebusgen)
+[![Build Docs](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml/badge.svg)](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml)
+[![Upload Python Package](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml/badge.svg)](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml)
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e16f9c35657f47fcb31347fbd4f92367)](https://www.codacy.com/gh/als-epics/phoebusgen/dashboard?utm_source=github.com&utm_medium=referral&utm_content=als-epics/phoebusgen&utm_campaign=Badge_Grade)
+
+Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems.
+https://github.com/ControlSystemStudio/phoebus
+
+This module aims to provide a way to generate Phoebus xml through Python. See examples [here](examples).
+
+API docs here: [https://als-epics.github.io/phoebusgen](https://als-epics.github.io/phoebusgen/)
+
+Suggestions, comments, and pull requests are welcome.
+
+## Requirements
+
+- Python >= 3.5
+
+## Install
+Pip Package: [phoebusgen](https://pypi.org/project/phoebusgen/)
+```shell
+pip install phoebusgen
+```
+
+## Intro
+
+Phoebus widgets and a Phoebus screen are all Python objects. Widgets can be added to a screen or even to other widgets (for things like Group or Tab widgets).
+
+```pycon
+>>> import phoebusgen
+>>> text_update_widget = phoebusgen.widget.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
+>>> text_update_widget.predefined_foreground_color(phoebusgen.colors.OK)
+>>> text_update_widget.font_style_bold()
+>>> print(text_update_widget)
+<?xml version="1.0" ?>
+<widget type="textupdate" version="2.0.0">
+ <name>test widget</name>
+ <x>10</x>
+ <y>20</y>
+ <width>20</width>
+ <height>50</height>
+ <pv_name>TEST:PV</pv_name>
+ <foreground_color>
+ <color name="OK" red="0" green="255" blue="0" alpha="255"/>
+ </foreground_color>
+ <font>
+ <font family="Liberation Sans" size="14" style="BOLD"/>
+ </font>
+</widget>
+
+```
+
+## Modules
+
+### phoebusgen.widget
+
+Python API to directly create Phoebus widgets. All standard Phoebus widgets are available, but some (3) are not fully feature complete.
+
+[Widgets Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.widget.html#module-phoebusgen.widget.widgets)
+
+#### Incomplete Widgets
+- Image
+- Strip Chart
+- X/Y Plot
+
+Example
+- ```text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, width, height)```
+
+### phoebusgen.screen
+
+Python object to represent a Phoebus screen. Widgets can be added to the screen object and the screen object can be written to a .bob file to be opened in Phoebus.
+
+[Screen Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.screen.html#module-phoebusgen.screen.screen)
+
+Example
+```pycon
+>>> import phoebusgen.screen
+>>> import phoebusgen.widget
+>>> my_screen = phoebusgen.screen.Screen("my screen")
+>>> print(my_screen)
+<?xml version="1.0" ?>
+<display version="2.0.0">
+ <name>my screen</name>
+</display>
+
+>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
+>>> my_screen.add_widget(my_widget)
+>>> print(my_screen)
+<?xml version="1.0" ?>
+<display version="2.0.0">
+ <name>my screen</name>
+ <widget type="textupdate" version="2.0.0">
+ <name>test</name>
+ <x>10</x>
+ <y>10</y>
+ <width>10</width>
+ <height>10</height>
+ <pv_name>test:PV</pv_name>
+ </widget>
+</display>
+```
+
+## Site specific color and font definitions
+
+Place a custon color.def or font.def in ~/.phoebusgen/ to force phoebusgen.colors or phoebusgen.fonts to reflect your site's custom definitions.
+
+```python
+my_widget.predefined_font(phoebusgen.fonts.Header1)
+```
+```python
+my_widget.predefined_color(phoebusgen.colors.OK)
+```
+
+
+%package -n python3-phoebusgen
+Summary: Control screen generator for Phoebus
+Provides: python-phoebusgen
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-phoebusgen
+# Python Module to Generate Phoebus Control Screens
+
+[![PyPI](https://img.shields.io/pypi/v/phoebusgen)](https://pypi.org/project/phoebusgen/)
+[![Python unittest Status](https://github.com/als-epics/phoebusgen/workflows/Python%20unittest/badge.svg)](https://github.com/als-epics/phoebusgen/actions)
+[![codecov](https://codecov.io/gh/als-epics/phoebusgen/branch/master/graph/badge.svg?token=Ue2BauI8IW)](https://codecov.io/gh/als-epics/phoebusgen)
+[![Build Docs](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml/badge.svg)](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml)
+[![Upload Python Package](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml/badge.svg)](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml)
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e16f9c35657f47fcb31347fbd4f92367)](https://www.codacy.com/gh/als-epics/phoebusgen/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=als-epics/phoebusgen&amp;utm_campaign=Badge_Grade)
+
+Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems.
+https://github.com/ControlSystemStudio/phoebus
+
+This module aims to provide a way to generate Phoebus xml through Python. See examples [here](examples).
+
+API docs here: [https://als-epics.github.io/phoebusgen](https://als-epics.github.io/phoebusgen/)
+
+Suggestions, comments, and pull requests are welcome.
+
+## Requirements
+
+- Python >= 3.5
+
+## Install
+Pip Package: [phoebusgen](https://pypi.org/project/phoebusgen/)
+```shell
+pip install phoebusgen
+```
+
+## Intro
+
+Phoebus widgets and a Phoebus screen are all Python objects. Widgets can be added to a screen or even to other widgets (for things like Group or Tab widgets).
+
+```pycon
+>>> import phoebusgen
+>>> text_update_widget = phoebusgen.widget.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
+>>> text_update_widget.predefined_foreground_color(phoebusgen.colors.OK)
+>>> text_update_widget.font_style_bold()
+>>> print(text_update_widget)
+<?xml version="1.0" ?>
+<widget type="textupdate" version="2.0.0">
+ <name>test widget</name>
+ <x>10</x>
+ <y>20</y>
+ <width>20</width>
+ <height>50</height>
+ <pv_name>TEST:PV</pv_name>
+ <foreground_color>
+ <color name="OK" red="0" green="255" blue="0" alpha="255"/>
+ </foreground_color>
+ <font>
+ <font family="Liberation Sans" size="14" style="BOLD"/>
+ </font>
+</widget>
+
+```
+
+## Modules
+
+### phoebusgen.widget
+
+Python API to directly create Phoebus widgets. All standard Phoebus widgets are available, but some (3) are not fully feature complete.
+
+[Widgets Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.widget.html#module-phoebusgen.widget.widgets)
+
+#### Incomplete Widgets
+- Image
+- Strip Chart
+- X/Y Plot
+
+Example
+- ```text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, width, height)```
+
+### phoebusgen.screen
+
+Python object to represent a Phoebus screen. Widgets can be added to the screen object and the screen object can be written to a .bob file to be opened in Phoebus.
+
+[Screen Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.screen.html#module-phoebusgen.screen.screen)
+
+Example
+```pycon
+>>> import phoebusgen.screen
+>>> import phoebusgen.widget
+>>> my_screen = phoebusgen.screen.Screen("my screen")
+>>> print(my_screen)
+<?xml version="1.0" ?>
+<display version="2.0.0">
+ <name>my screen</name>
+</display>
+
+>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
+>>> my_screen.add_widget(my_widget)
+>>> print(my_screen)
+<?xml version="1.0" ?>
+<display version="2.0.0">
+ <name>my screen</name>
+ <widget type="textupdate" version="2.0.0">
+ <name>test</name>
+ <x>10</x>
+ <y>10</y>
+ <width>10</width>
+ <height>10</height>
+ <pv_name>test:PV</pv_name>
+ </widget>
+</display>
+```
+
+## Site specific color and font definitions
+
+Place a custon color.def or font.def in ~/.phoebusgen/ to force phoebusgen.colors or phoebusgen.fonts to reflect your site's custom definitions.
+
+```python
+my_widget.predefined_font(phoebusgen.fonts.Header1)
+```
+```python
+my_widget.predefined_color(phoebusgen.colors.OK)
+```
+
+
+%package help
+Summary: Development documents and examples for phoebusgen
+Provides: python3-phoebusgen-doc
+%description help
+# Python Module to Generate Phoebus Control Screens
+
+[![PyPI](https://img.shields.io/pypi/v/phoebusgen)](https://pypi.org/project/phoebusgen/)
+[![Python unittest Status](https://github.com/als-epics/phoebusgen/workflows/Python%20unittest/badge.svg)](https://github.com/als-epics/phoebusgen/actions)
+[![codecov](https://codecov.io/gh/als-epics/phoebusgen/branch/master/graph/badge.svg?token=Ue2BauI8IW)](https://codecov.io/gh/als-epics/phoebusgen)
+[![Build Docs](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml/badge.svg)](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml)
+[![Upload Python Package](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml/badge.svg)](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml)
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e16f9c35657f47fcb31347fbd4f92367)](https://www.codacy.com/gh/als-epics/phoebusgen/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=als-epics/phoebusgen&amp;utm_campaign=Badge_Grade)
+
+Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems.
+https://github.com/ControlSystemStudio/phoebus
+
+This module aims to provide a way to generate Phoebus xml through Python. See examples [here](examples).
+
+API docs here: [https://als-epics.github.io/phoebusgen](https://als-epics.github.io/phoebusgen/)
+
+Suggestions, comments, and pull requests are welcome.
+
+## Requirements
+
+- Python >= 3.5
+
+## Install
+Pip Package: [phoebusgen](https://pypi.org/project/phoebusgen/)
+```shell
+pip install phoebusgen
+```
+
+## Intro
+
+Phoebus widgets and a Phoebus screen are all Python objects. Widgets can be added to a screen or even to other widgets (for things like Group or Tab widgets).
+
+```pycon
+>>> import phoebusgen
+>>> text_update_widget = phoebusgen.widget.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
+>>> text_update_widget.predefined_foreground_color(phoebusgen.colors.OK)
+>>> text_update_widget.font_style_bold()
+>>> print(text_update_widget)
+<?xml version="1.0" ?>
+<widget type="textupdate" version="2.0.0">
+ <name>test widget</name>
+ <x>10</x>
+ <y>20</y>
+ <width>20</width>
+ <height>50</height>
+ <pv_name>TEST:PV</pv_name>
+ <foreground_color>
+ <color name="OK" red="0" green="255" blue="0" alpha="255"/>
+ </foreground_color>
+ <font>
+ <font family="Liberation Sans" size="14" style="BOLD"/>
+ </font>
+</widget>
+
+```
+
+## Modules
+
+### phoebusgen.widget
+
+Python API to directly create Phoebus widgets. All standard Phoebus widgets are available, but some (3) are not fully feature complete.
+
+[Widgets Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.widget.html#module-phoebusgen.widget.widgets)
+
+#### Incomplete Widgets
+- Image
+- Strip Chart
+- X/Y Plot
+
+Example
+- ```text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, width, height)```
+
+### phoebusgen.screen
+
+Python object to represent a Phoebus screen. Widgets can be added to the screen object and the screen object can be written to a .bob file to be opened in Phoebus.
+
+[Screen Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.screen.html#module-phoebusgen.screen.screen)
+
+Example
+```pycon
+>>> import phoebusgen.screen
+>>> import phoebusgen.widget
+>>> my_screen = phoebusgen.screen.Screen("my screen")
+>>> print(my_screen)
+<?xml version="1.0" ?>
+<display version="2.0.0">
+ <name>my screen</name>
+</display>
+
+>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
+>>> my_screen.add_widget(my_widget)
+>>> print(my_screen)
+<?xml version="1.0" ?>
+<display version="2.0.0">
+ <name>my screen</name>
+ <widget type="textupdate" version="2.0.0">
+ <name>test</name>
+ <x>10</x>
+ <y>10</y>
+ <width>10</width>
+ <height>10</height>
+ <pv_name>test:PV</pv_name>
+ </widget>
+</display>
+```
+
+## Site specific color and font definitions
+
+Place a custon color.def or font.def in ~/.phoebusgen/ to force phoebusgen.colors or phoebusgen.fonts to reflect your site's custom definitions.
+
+```python
+my_widget.predefined_font(phoebusgen.fonts.Header1)
+```
+```python
+my_widget.predefined_color(phoebusgen.colors.OK)
+```
+
+
+%prep
+%autosetup -n phoebusgen-2.6.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-phoebusgen -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 2.6.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..823d84d
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+bc7a16466b22fd8287fd989ab8659fa7 phoebusgen-2.6.1.tar.gz