cuemsutils 0.0.4__tar.gz → 0.0.4.post4__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.
@@ -1,3 +1,7 @@
1
+ ## Local development files
2
+ dev/local
3
+ tests/tmp
4
+
1
5
  # Byte-compiled / optimized / DLL files
2
6
  __pycache__/
3
7
  *.py[cod]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuemsutils
3
- Version: 0.0.4
3
+ Version: 0.0.4.post4
4
4
  Summary: Reusable classes and methods for CueMS system
5
5
  Project-URL: Documentation, https://github.com/stagesoft/cuems-utils#readme
6
6
  Project-URL: Issues, https://github.com/stagesoft/cuems-utils/issues
@@ -21,9 +21,6 @@ Requires-Python: >=3.8
21
21
  Requires-Dist: lxml==5.3.0
22
22
  Requires-Dist: timecode
23
23
  Requires-Dist: xmlschema==3.4.3
24
- Provides-Extra: test
25
- Requires-Dist: pytest; extra == 'test'
26
- Requires-Dist: pytest-cov; extra == 'test'
27
24
  Description-Content-Type: text/markdown
28
25
 
29
26
  # cuems-utils
@@ -37,6 +34,7 @@ Reusable classes and methods for CueMS system
37
34
  ## Table of Contents
38
35
 
39
36
  - [Installation](#installation)
37
+ - [Release notes](#v005)
40
38
  - [License](#license)
41
39
 
42
40
  ## Installation
@@ -45,6 +43,16 @@ Reusable classes and methods for CueMS system
45
43
  pip install cuemsutils
46
44
  ```
47
45
 
46
+ ## Release notes
47
+
48
+ ### v0.0.5
49
+ - All properties of objects are lowercase (i.e. `media` and `outputs` at `MediaCue`). Camelcase used for classes, `region` is the only exception and will become deprecated on following versions.
50
+ - User facing classes can be exported directly (e.g. `from cuemsutils.cues import AudioCue, VideoCue`)
51
+ - `Cue` is not longer an accepted object for script validation
52
+
53
+ ### v0.0.4
54
+ - `Logger` fixed to allow empty `extra` parameter
55
+
48
56
  ## License
49
57
 
50
58
  `cuemsutils` is distributed under the terms of the [GPL v3](https://www.gnu.org/licenses/gpl-3.0.html) license.
@@ -9,6 +9,7 @@ Reusable classes and methods for CueMS system
9
9
  ## Table of Contents
10
10
 
11
11
  - [Installation](#installation)
12
+ - [Release notes](#v005)
12
13
  - [License](#license)
13
14
 
14
15
  ## Installation
@@ -17,6 +18,16 @@ Reusable classes and methods for CueMS system
17
18
  pip install cuemsutils
18
19
  ```
19
20
 
21
+ ## Release notes
22
+
23
+ ### v0.0.5
24
+ - All properties of objects are lowercase (i.e. `media` and `outputs` at `MediaCue`). Camelcase used for classes, `region` is the only exception and will become deprecated on following versions.
25
+ - User facing classes can be exported directly (e.g. `from cuemsutils.cues import AudioCue, VideoCue`)
26
+ - `Cue` is not longer an accepted object for script validation
27
+
28
+ ### v0.0.4
29
+ - `Logger` fixed to allow empty `extra` parameter
30
+
20
31
  ## License
21
32
 
22
33
  `cuemsutils` is distributed under the terms of the [GPL v3](https://www.gnu.org/licenses/gpl-3.0.html) license.
@@ -31,12 +31,6 @@ dependencies = [
31
31
  "xmlschema==3.4.3"
32
32
  ]
33
33
 
34
- [project.optional-dependencies]
35
- test = [
36
- "pytest",
37
- "pytest-cov",
38
- ]
39
-
40
34
  [project.urls]
41
35
  Documentation = "https://github.com/stagesoft/cuems-utils#readme"
42
36
  Issues = "https://github.com/stagesoft/cuems-utils/issues"
@@ -51,12 +45,16 @@ include = ["src/cuemsutils/xml/schemas"]
51
45
  [tool.hatch.build.targets.wheel]
52
46
  packages = ["src/cuemsutils"]
53
47
 
54
- [tool.hatch.envs.types]
55
- extra-dependencies = [
56
- "mypy>=1.0.0"
48
+ [[tool.hatch.envs.hatch-test.matrix]]
49
+ python = ["3.11"]
50
+
51
+ [tool.hatch.envs.test]
52
+ dependencies = [
53
+ "pytest",
54
+ "pytest-cov",
55
+ "pytest-mock",
56
+ "coverage[toml]"
57
57
  ]
58
- [tool.hatch.envs.types.scripts]
59
- check = "mypy --install-types --non-interactive {args:src/cuemsutils tests}"
60
58
 
61
59
  [tool.coverage.run]
62
60
  source_pkgs = ["cuemsutils", "tests"]
@@ -69,8 +67,16 @@ cuemsutils = ["src/cuemsutils", "*/cuems-utils/src/cuemsutils"]
69
67
  tests = ["tests", "*/cuems-utils/tests"]
70
68
 
71
69
  [tool.coverage.report]
70
+ show_missing = true
72
71
  exclude_lines = [
73
72
  "no cov",
74
73
  "if __name__ == .__main__.:",
75
74
  "if TYPE_CHECKING:",
76
75
  ]
76
+
77
+ [tool.hatch.envs.types]
78
+ extra-dependencies = [
79
+ "mypy>=1.0.0"
80
+ ]
81
+ [tool.hatch.envs.types.scripts]
82
+ check = "mypy --install-types --non-interactive {args:src/cuemsutils tests}"
@@ -47,28 +47,29 @@
47
47
  </xs:complexType>
48
48
 
49
49
  <xs:complexType name="CommonPropertiesType">
50
- <xs:all>
50
+ <xs:sequence>
51
51
  <xs:element name="description" type="cms:DescriptionStringType" />
52
52
  <!-- A flag to disable to cue -->
53
53
  <xs:element name="enabled" type="cms:BoolType" />
54
54
  <xs:element name="id" type="xs:string" />
55
- <xs:element name="name" type="cms:NameStringType" />
56
55
  <!-- A flag to indicate auto arming -->
57
56
  <xs:element name="loaded" type="cms:BoolType" />
58
57
  <xs:element name="loop" type="cms:LoopType" /> <!-- -1/0/n -->
59
58
  <!-- Its time mark -->
59
+ <xs:element name="name" type="cms:NameStringType" />
60
60
  <xs:element name="offset" type="cms:CTimecodeType" />
61
61
  <!-- Execution options -->
62
- <xs:element name="prewait" type="cms:CTimecodeType" /> <!-- After go before play -->
63
- <xs:element name="postwait" type="cms:CTimecodeType" /> <!-- After play before post go-->
64
62
  <xs:element name="post_go" type="cms:PostGoType" /> <!-- Types: pause/go/go_at_end -->
63
+ <xs:element name="postwait" type="cms:CTimecodeType" /> <!-- After play before post go-->
64
+ <xs:element name="prewait" type="cms:CTimecodeType" /> <!-- After go before play -->
65
+ <xs:element name="target" type="cms:TargetType" /> <!-- target uuid or none -->
65
66
  <!-- Timecode behaviour flag -->
66
67
  <xs:element name="timecode" type="cms:BoolType" />
67
- <xs:element name="target" type="cms:UuidType" /> <!-- target uuid or none -->
68
68
  <!-- Its own uuid -->
69
+ <!-- <xs:element name="ui_properties" type="cms:UuidType" /> -->
69
70
  <xs:element name="uuid" type="cms:UuidType" />
70
71
  <!-- <xs:element name="ui_properties" type="cms:UiPropertiesType" /> -->
71
- </xs:all>
72
+ </xs:sequence>
72
73
  </xs:complexType>
73
74
 
74
75
  <!-- CUELIST -->
@@ -88,7 +89,7 @@
88
89
  <!-- Can have any other cuelists, recursively -->
89
90
  <xs:element name="CueList" type="cms:CueListType" />
90
91
  <!-- Can have any cues -->
91
- <xs:element name="Cue" type="cms:CueType" />
92
+ <!-- <xs:element name="Cue" type="cms:CueType" /> -->
92
93
  <!-- Can be also specific type cues -->
93
94
  <xs:element name="AudioCue" type="cms:AudioCueType" />
94
95
  <xs:element name="DmxCue" type="cms:DmxCueType" />
@@ -97,14 +98,24 @@
97
98
  </xs:choice>
98
99
  </xs:complexType>
99
100
 
101
+ <!-- MediaCue -->
102
+ <xs:complexType name="MediaCueType">
103
+ <xs:complexContent>
104
+ <xs:extension base="cms:CueType">
105
+ <xs:sequence>
106
+ <xs:element name="media" type="cms:MediaType" />
107
+ <xs:element name="outputs" type="cms:OutputsType" />
108
+ </xs:sequence>
109
+ </xs:extension>
110
+ </xs:complexContent>
111
+ </xs:complexType>
112
+
100
113
  <!-- AUDIO -->
101
114
  <xs:complexType name="AudioCueType">
102
115
  <xs:complexContent>
103
- <xs:extension base="cms:CueType">
116
+ <xs:extension base="cms:MediaCueType">
104
117
  <xs:sequence>
105
- <xs:element name="media" type="cms:MediaType" />
106
118
  <xs:element name="master_vol" type="cms:PercentType" />
107
- <xs:element name="Outputs" type="cms:OutputsType" />
108
119
  </xs:sequence>
109
120
  </xs:extension>
110
121
  </xs:complexContent>
@@ -135,13 +146,7 @@
135
146
  <!-- VIDEO -->
136
147
  <xs:complexType name="VideoCueType">
137
148
  <xs:complexContent>
138
- <xs:extension base="cms:CueType">
139
- <xs:sequence>
140
- <!-- A video media file path which can be none -->
141
- <xs:element name="Media" type="cms:MediaType" />
142
- <!-- An outputs section -->
143
- <xs:element name="Outputs" type="cms:OutputsType" />
144
- </xs:sequence>
149
+ <xs:extension base="cms:MediaCueType">
145
150
  </xs:extension>
146
151
  </xs:complexContent>
147
152
  </xs:complexType>
@@ -310,13 +315,6 @@
310
315
  </xs:sequence>
311
316
  </xs:complexType>
312
317
 
313
- <xs:complexType name="TargetType">
314
- <!-- Can be a uuid field or an empty NoneType field -->
315
- <xs:choice minOccurs="0">
316
- <xs:element name="Uuid" type="cms:UuidType" />
317
- </xs:choice>
318
- </xs:complexType>
319
-
320
318
  <xs:complexType name="UiPropertiesType">
321
319
  <xs:all minOccurs="0">
322
320
  <xs:element name="timeline_position" type="cms:Coordinates" />
@@ -388,6 +386,14 @@
388
386
  </xs:restriction>
389
387
  </xs:simpleType>
390
388
 
389
+ <xs:simpleType name="TargetType">
390
+ <xs:restriction base="xs:string">
391
+ <xs:pattern value="([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})|()" />
392
+ <xs:maxLength value="36" />
393
+ <xs:minLength value="0" />
394
+ </xs:restriction>
395
+ </xs:simpleType>
396
+
391
397
  <xs:simpleType name="TimecodeType">
392
398
  <xs:restriction base="xs:string">
393
399
  <xs:pattern value="[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}" />
File without changes