Skip to content

Commit 1523535

Browse files
committed
steal everything from inst_servers
1 parent 5764e99 commit 1523535

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+10727
-0
lines changed

pyproject.toml

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
[build-system]
2+
requires = ["setuptools", "setuptools_scm>=8"]
3+
build-backend = "setuptools.build_meta"
4+
5+
6+
[project]
7+
name = "server_common" # REQUIRED, is the only field that cannot be marked as dynamic.
8+
dynamic = ["version"]
9+
description = "A collection of utilities for python based IOC servers used at ISIS"
10+
readme = "README.md"
11+
requires-python = ">=3.10"
12+
license = {file = "LICENSE"}
13+
14+
authors = [
15+
{name = "ISIS Experiment Controls", email = "[email protected]" }
16+
]
17+
maintainers = [
18+
{name = "ISIS Experiment Controls", email = "[email protected]" }
19+
]
20+
21+
# Classifiers help users find your project by categorizing it.
22+
#
23+
# For a list of valid classifiers, see https://pypi.org/classifiers/
24+
classifiers = [
25+
# How mature is this project? Common values are
26+
# 3 - Alpha
27+
# 4 - Beta
28+
# 5 - Production/Stable
29+
"Development Status :: 3 - Alpha",
30+
"Intended Audience :: Developers",
31+
"License :: OSI Approved :: BSD License",
32+
33+
# Specify the Python versions you support here. In particular, ensure
34+
# that you indicate you support Python 3. These classifiers are *not*
35+
# checked by "pip install". See instead "requires-python" key in this file.
36+
"Programming Language :: Python :: 3",
37+
"Programming Language :: Python :: 3.10",
38+
"Programming Language :: Python :: 3.11",
39+
"Programming Language :: Python :: 3.12",
40+
"Programming Language :: Python :: 3 :: Only",
41+
]
42+
43+
dependencies = [
44+
"pcaspy@git+https://github.com/ISISComputingGroup/pcaspy",
45+
"CaChannel@git+https://github.com/ISISComputingGroup/CaChannel.git",
46+
"genie-python",
47+
"mock",
48+
"parameterized",
49+
"pysnmp",
50+
"PyHamcrest"
51+
]
52+
53+
[project.optional-dependencies]
54+
dev = [
55+
"ruff>=0.8",
56+
"pyright",
57+
"pytest",
58+
"pytest-cov",
59+
]
60+
61+
[project.urls]
62+
"Homepage" = "https://github.com/isiscomputinggroup/server_common"
63+
"Bug Reports" = "https://github.com/isiscomputinggroup/server_common/issues"
64+
"Source" = "https://github.com/isiscomputinggroup/server_common"
65+
66+
[tool.setuptools_scm]

schema/banner.xsd

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3+
targetNamespace="http://epics.isis.rl.ac.uk/schema/banner/1.0"
4+
xmlns:banner="http://epics.isis.rl.ac.uk/schema/banner/1.0"
5+
elementFormDefault="qualified">
6+
<xs:element name="banner">
7+
<xs:complexType>
8+
<xs:sequence>
9+
<xs:element minOccurs="1" maxOccurs="1" ref="banner:items"/>
10+
</xs:sequence>
11+
</xs:complexType>
12+
</xs:element>
13+
<xs:element name="items">
14+
<xs:complexType>
15+
<xs:sequence>
16+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="banner:item"/>
17+
</xs:sequence>
18+
</xs:complexType>
19+
</xs:element>
20+
<xs:element name="item">
21+
<xs:complexType>
22+
<xs:choice>
23+
<xs:element ref="banner:display"/>
24+
<xs:element ref="banner:button"/>
25+
</xs:choice>
26+
</xs:complexType>
27+
</xs:element>
28+
<xs:element name="display">
29+
<xs:complexType>
30+
<xs:sequence>
31+
<xs:element ref="banner:name"/>
32+
<xs:element ref="banner:pv"/>
33+
<xs:element ref="banner:local"/>
34+
<xs:element ref="banner:width"/>
35+
</xs:sequence>
36+
</xs:complexType>
37+
</xs:element>
38+
<xs:element name="button">
39+
<xs:complexType>
40+
<xs:sequence>
41+
<xs:element ref="banner:name"/>
42+
<xs:element ref="banner:pv"/>
43+
<xs:element ref="banner:local"/>
44+
<xs:element ref="banner:pvValue"/>
45+
<xs:element ref="banner:textColour"/>
46+
<xs:element ref="banner:buttonColour"/>
47+
<xs:element ref="banner:fontSize"/>
48+
<xs:element ref="banner:width"/>
49+
<xs:element ref="banner:height"/>
50+
</xs:sequence>
51+
</xs:complexType>
52+
</xs:element>
53+
<xs:element name="name" type="xs:string"/>
54+
<xs:element name="pv" type="xs:string"/>
55+
<xs:element name="local" type="xs:boolean"/>
56+
<xs:element name="pvValue" type="xs:integer"/>
57+
<xs:element name="textColour">
58+
<xs:simpleType>
59+
<xs:restriction base="xs:string">
60+
<xs:pattern value="#[0-9a-fA-F]{6}"/>
61+
</xs:restriction>
62+
</xs:simpleType>
63+
</xs:element>
64+
<xs:element name="buttonColour">
65+
<xs:simpleType>
66+
<xs:restriction base="xs:string">
67+
<xs:pattern value="#[0-9a-fA-F]{6}"/>
68+
</xs:restriction>
69+
</xs:simpleType>
70+
</xs:element>
71+
<xs:element name="fontSize" type="xs:int"/>
72+
<xs:element name="width" type="xs:int"/>
73+
<xs:element name="height" type="xs:int"/>
74+
</xs:schema>

schema/blocks.xsd

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3+
targetNamespace="http://epics.isis.rl.ac.uk/schema/blocks/1.0"
4+
xmlns:blk="http://epics.isis.rl.ac.uk/schema/blocks/1.0"
5+
elementFormDefault="qualified">
6+
<xs:element name="blocks">
7+
<xs:complexType>
8+
<xs:sequence>
9+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="blk:block"/>
10+
</xs:sequence>
11+
</xs:complexType>
12+
</xs:element>
13+
<xs:element name="block">
14+
<xs:complexType>
15+
<xs:sequence>
16+
<xs:element ref="blk:name"/>
17+
<xs:element ref="blk:read_pv"/>
18+
<xs:element ref="blk:local"/>
19+
<xs:element ref="blk:visible"/>
20+
<xs:element ref="blk:rc_enabled" minOccurs="0"/>
21+
<xs:element ref="blk:rc_lowlimit" minOccurs="0"/>
22+
<xs:element ref="blk:rc_highlimit" minOccurs="0"/>
23+
<xs:element ref="blk:rc_suspend_on_invalid" minOccurs="0"/>
24+
<xs:element ref="blk:log_periodic" minOccurs="0"/>
25+
<xs:element ref="blk:log_rate" minOccurs="0"/>
26+
<xs:element ref="blk:log_deadband" minOccurs="0"/>
27+
<xs:element ref="blk:set_block" minOccurs="0"/>
28+
<xs:element ref="blk:set_block_val" minOccurs="0"/>
29+
</xs:sequence>
30+
</xs:complexType>
31+
</xs:element>
32+
<xs:element name="name" type="xs:NCName"/>
33+
<xs:element name="read_pv" type="xs:NMTOKEN"/>
34+
<xs:element name="local" type="xs:string"/>
35+
<xs:element name="visible" type="xs:string"/>
36+
<xs:element name="rc_lowlimit" type="xs:double"/>
37+
<xs:element name="rc_highlimit" type="xs:double"/>
38+
<xs:element name="rc_enabled" type="xs:string"/>
39+
<xs:element name="rc_suspend_on_invalid" type="xs:string"/>
40+
<xs:element name="log_periodic" type="xs:string"/>
41+
<xs:element name="log_rate" type="xs:decimal"/>
42+
<xs:element name="log_deadband" type="xs:double"/>
43+
<xs:element name="set_block" type="xs:string"/>
44+
<xs:element name="set_block_val" type="xs:string"/>
45+
</xs:schema>

0 commit comments

Comments
 (0)