threefive 2.4.63__tar.gz → 2.4.65__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.
- {threefive-2.4.63/threefive.egg-info → threefive-2.4.65}/PKG-INFO +4 -7
- {threefive-2.4.63 → threefive-2.4.65}/README.md +3 -6
- {threefive-2.4.63 → threefive-2.4.65}/bin/threefive +36 -2
- {threefive-2.4.63 → threefive-2.4.65}/threefive/base.py +6 -4
- {threefive-2.4.63 → threefive-2.4.65}/threefive/commands.py +5 -2
- {threefive-2.4.63 → threefive-2.4.65}/threefive/cue.py +4 -1
- {threefive-2.4.63 → threefive-2.4.65}/threefive/version.py +1 -1
- {threefive-2.4.63 → threefive-2.4.65/threefive.egg-info}/PKG-INFO +4 -7
- {threefive-2.4.63 → threefive-2.4.65}/LICENSE +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/setup.cfg +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/setup.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/__init__.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/bitn.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/crc.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/decode.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/descriptors.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/encode.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/packetdata.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/section.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/segment.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/segmentation.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/smoketest.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/stream.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/streamtypes.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/stuff.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive/upids.py +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive.egg-info/SOURCES.txt +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive.egg-info/dependency_links.txt +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive.egg-info/requires.txt +0 -0
- {threefive-2.4.63 → threefive-2.4.65}/threefive.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: threefive
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.65
|
|
4
4
|
Summary: The Undisputed Heavyweight Champion of SCTE-35.
|
|
5
5
|
Home-page: https://github.com/futzu/threefive
|
|
6
6
|
Author: Adrian and a Cast of Thousands.
|
|
@@ -25,12 +25,9 @@ License-File: LICENSE
|
|
|
25
25
|
<br>
|
|
26
26
|
____
|
|
27
27
|
|
|
28
|
-
# Latest __threefive__ version is `2`.`4`.`
|
|
29
|
-
* threefive `2`.`4`.`
|
|
30
|
-
|
|
31
|
-
* `dropped` SpliceSchedule
|
|
32
|
-
* `dropped` AudioDescriptor
|
|
33
|
-
* `fixed` Cue.encode()
|
|
28
|
+
# Latest __threefive__ version is `2`.`4`.`65`
|
|
29
|
+
* threefive `2`.`4`.`65` introduces [Command Line Encoding](https://github.com/futzu/SCTE35_threefive/blob/master/cliencde.md)
|
|
30
|
+
|
|
34
31
|
---
|
|
35
32
|
|
|
36
33
|
# Documentation
|
|
@@ -9,12 +9,9 @@
|
|
|
9
9
|
<br>
|
|
10
10
|
____
|
|
11
11
|
|
|
12
|
-
# Latest __threefive__ version is `2`.`4`.`
|
|
13
|
-
* threefive `2`.`4`.`
|
|
14
|
-
|
|
15
|
-
* `dropped` SpliceSchedule
|
|
16
|
-
* `dropped` AudioDescriptor
|
|
17
|
-
* `fixed` Cue.encode()
|
|
12
|
+
# Latest __threefive__ version is `2`.`4`.`65`
|
|
13
|
+
* threefive `2`.`4`.`65` introduces [Command Line Encoding](https://github.com/futzu/SCTE35_threefive/blob/master/cliencde.md)
|
|
14
|
+
|
|
18
15
|
---
|
|
19
16
|
|
|
20
17
|
# Documentation
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/
|
|
1
|
+
#!/usr/bin/pypy3
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
4
|
threefive command line SCTE35 decoder.
|
|
@@ -8,7 +8,8 @@ threefive command line SCTE35 decoder.
|
|
|
8
8
|
|
|
9
9
|
import sys
|
|
10
10
|
from time import sleep
|
|
11
|
-
from threefive import Stream, print2, decode, version
|
|
11
|
+
from threefive import Cue,Stream, print2, decode, version
|
|
12
|
+
from new_reader import reader
|
|
12
13
|
import cProfile
|
|
13
14
|
|
|
14
15
|
REV = "\033[7m"
|
|
@@ -113,6 +114,19 @@ write pts, SCTE-35 cue pairs to the file sidecar.txt:{NORM}
|
|
|
113
114
|
|
|
114
115
|
threefive sidecar https://example.com/video.ts
|
|
115
116
|
|
|
117
|
+
{REV} load JSON and encode as a Base64:{NORM}
|
|
118
|
+
cat json.file | threefive encode
|
|
119
|
+
|
|
120
|
+
{REV} load JSON and encode as hex:{NORM}
|
|
121
|
+
cat json.file | threefive encode hex
|
|
122
|
+
|
|
123
|
+
{REV} load JSON and encode as an int:{NORM}
|
|
124
|
+
cat json.file | threefive encode int
|
|
125
|
+
|
|
126
|
+
{REV} load JSON and encode as bytes:{NORM}
|
|
127
|
+
cat json.file | threefive encode bytes
|
|
128
|
+
|
|
129
|
+
|
|
116
130
|
{REV}show this help:{NORM}
|
|
117
131
|
|
|
118
132
|
threefive help
|
|
@@ -137,10 +151,30 @@ def print_version():
|
|
|
137
151
|
print2(f"{version}")
|
|
138
152
|
sys.exit()
|
|
139
153
|
|
|
154
|
+
def json_load():
|
|
155
|
+
with reader(sys.stdin.buffer) as stuff:
|
|
156
|
+
json = stuff.read().decode()
|
|
157
|
+
cue = Cue()
|
|
158
|
+
cue.load(json)
|
|
159
|
+
if "hex" in sys.argv:
|
|
160
|
+
print(cue.encode_as_hex())
|
|
161
|
+
sys.exit()
|
|
162
|
+
if "int" in sys.argv:
|
|
163
|
+
print(cue.encode_as_int())
|
|
164
|
+
sys.exit()
|
|
165
|
+
if "bytes" in sys.argv:
|
|
166
|
+
cue.encode()
|
|
167
|
+
print(cue.bites)
|
|
168
|
+
sys.exit()
|
|
169
|
+
print(cue.encode())
|
|
170
|
+
sys.exit()
|
|
171
|
+
|
|
140
172
|
|
|
141
173
|
print_map = {
|
|
142
174
|
"help": print_help,
|
|
143
175
|
"version": print_version,
|
|
176
|
+
"encode": json_load,
|
|
177
|
+
|
|
144
178
|
}
|
|
145
179
|
|
|
146
180
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
threefive.base contains
|
|
3
3
|
the class SCTE35Base.
|
|
4
4
|
"""
|
|
5
|
-
|
|
5
|
+
import sys
|
|
6
6
|
import json
|
|
7
7
|
from .bitn import NBin
|
|
8
|
-
|
|
8
|
+
from.stuff import print2
|
|
9
9
|
|
|
10
10
|
class SCTE35Base:
|
|
11
11
|
"""
|
|
@@ -33,10 +33,12 @@ class SCTE35Base:
|
|
|
33
33
|
err_mesg = (
|
|
34
34
|
f"\033[7m{var_name} is not set, it should be type {var_type}\033[27m"
|
|
35
35
|
)
|
|
36
|
-
|
|
36
|
+
print2(err_mesg)
|
|
37
|
+
sys.exit()
|
|
37
38
|
if not isinstance(var_value, var_type):
|
|
38
39
|
err_mesg = f' \033[7m{var_name} is "{var_value}", it should be type {var_type}\033[27m '
|
|
39
|
-
|
|
40
|
+
print2(err_mesg)
|
|
41
|
+
sys.exit()
|
|
40
42
|
nbin_method(var_value, bit_count)
|
|
41
43
|
|
|
42
44
|
@staticmethod
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"""
|
|
2
2
|
SCTE35 Splice Commands
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
import sys
|
|
5
5
|
from .bitn import BitBin
|
|
6
6
|
from .base import SCTE35Base
|
|
7
|
-
|
|
7
|
+
from .stuff import print2
|
|
8
8
|
|
|
9
9
|
class SpliceCommand(SCTE35Base):
|
|
10
10
|
"""
|
|
@@ -142,6 +142,9 @@ class TimeSignal(SpliceCommand):
|
|
|
142
142
|
self._chk_var(bool, nbin.add_flag, "time_specified_flag", 1)
|
|
143
143
|
if self.time_specified_flag:
|
|
144
144
|
nbin.reserve(6)
|
|
145
|
+
if not self.pts_time:
|
|
146
|
+
print2("\033[7mA float for pts_time for the splice command is required.\033[27m")
|
|
147
|
+
sys.exit()
|
|
145
148
|
nbin.add_int(int(self.as_ticks(self.pts_time)), 33)
|
|
146
149
|
else:
|
|
147
150
|
nbin.reserve(7)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
threefive.Cue Class
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
import sys
|
|
5
5
|
from base64 import b64decode, b64encode
|
|
6
6
|
import json
|
|
7
7
|
from .stuff import print2
|
|
@@ -288,6 +288,9 @@ class Cue(SCTE35Base):
|
|
|
288
288
|
"""
|
|
289
289
|
if isinstance(stuff, str):
|
|
290
290
|
stuff = json.loads(stuff)
|
|
291
|
+
if "command" not in stuff:
|
|
292
|
+
print2("\033[7mA splice command is required\033[27m")
|
|
293
|
+
sys.exit()
|
|
291
294
|
if "info_section" in stuff:
|
|
292
295
|
self.load_info_section(stuff["info_section"])
|
|
293
296
|
if "command" in stuff:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: threefive
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.65
|
|
4
4
|
Summary: The Undisputed Heavyweight Champion of SCTE-35.
|
|
5
5
|
Home-page: https://github.com/futzu/threefive
|
|
6
6
|
Author: Adrian and a Cast of Thousands.
|
|
@@ -25,12 +25,9 @@ License-File: LICENSE
|
|
|
25
25
|
<br>
|
|
26
26
|
____
|
|
27
27
|
|
|
28
|
-
# Latest __threefive__ version is `2`.`4`.`
|
|
29
|
-
* threefive `2`.`4`.`
|
|
30
|
-
|
|
31
|
-
* `dropped` SpliceSchedule
|
|
32
|
-
* `dropped` AudioDescriptor
|
|
33
|
-
* `fixed` Cue.encode()
|
|
28
|
+
# Latest __threefive__ version is `2`.`4`.`65`
|
|
29
|
+
* threefive `2`.`4`.`65` introduces [Command Line Encoding](https://github.com/futzu/SCTE35_threefive/blob/master/cliencde.md)
|
|
30
|
+
|
|
34
31
|
---
|
|
35
32
|
|
|
36
33
|
# Documentation
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|