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.
Files changed (30) hide show
  1. {threefive-2.4.63/threefive.egg-info → threefive-2.4.65}/PKG-INFO +4 -7
  2. {threefive-2.4.63 → threefive-2.4.65}/README.md +3 -6
  3. {threefive-2.4.63 → threefive-2.4.65}/bin/threefive +36 -2
  4. {threefive-2.4.63 → threefive-2.4.65}/threefive/base.py +6 -4
  5. {threefive-2.4.63 → threefive-2.4.65}/threefive/commands.py +5 -2
  6. {threefive-2.4.63 → threefive-2.4.65}/threefive/cue.py +4 -1
  7. {threefive-2.4.63 → threefive-2.4.65}/threefive/version.py +1 -1
  8. {threefive-2.4.63 → threefive-2.4.65/threefive.egg-info}/PKG-INFO +4 -7
  9. {threefive-2.4.63 → threefive-2.4.65}/LICENSE +0 -0
  10. {threefive-2.4.63 → threefive-2.4.65}/setup.cfg +0 -0
  11. {threefive-2.4.63 → threefive-2.4.65}/setup.py +0 -0
  12. {threefive-2.4.63 → threefive-2.4.65}/threefive/__init__.py +0 -0
  13. {threefive-2.4.63 → threefive-2.4.65}/threefive/bitn.py +0 -0
  14. {threefive-2.4.63 → threefive-2.4.65}/threefive/crc.py +0 -0
  15. {threefive-2.4.63 → threefive-2.4.65}/threefive/decode.py +0 -0
  16. {threefive-2.4.63 → threefive-2.4.65}/threefive/descriptors.py +0 -0
  17. {threefive-2.4.63 → threefive-2.4.65}/threefive/encode.py +0 -0
  18. {threefive-2.4.63 → threefive-2.4.65}/threefive/packetdata.py +0 -0
  19. {threefive-2.4.63 → threefive-2.4.65}/threefive/section.py +0 -0
  20. {threefive-2.4.63 → threefive-2.4.65}/threefive/segment.py +0 -0
  21. {threefive-2.4.63 → threefive-2.4.65}/threefive/segmentation.py +0 -0
  22. {threefive-2.4.63 → threefive-2.4.65}/threefive/smoketest.py +0 -0
  23. {threefive-2.4.63 → threefive-2.4.65}/threefive/stream.py +0 -0
  24. {threefive-2.4.63 → threefive-2.4.65}/threefive/streamtypes.py +0 -0
  25. {threefive-2.4.63 → threefive-2.4.65}/threefive/stuff.py +0 -0
  26. {threefive-2.4.63 → threefive-2.4.65}/threefive/upids.py +0 -0
  27. {threefive-2.4.63 → threefive-2.4.65}/threefive.egg-info/SOURCES.txt +0 -0
  28. {threefive-2.4.63 → threefive-2.4.65}/threefive.egg-info/dependency_links.txt +0 -0
  29. {threefive-2.4.63 → threefive-2.4.65}/threefive.egg-info/requires.txt +0 -0
  30. {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.63
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`.`63`
29
- * threefive `2`.`4`.`61`
30
- * `dropped` ticks
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`.`63`
13
- * threefive `2`.`4`.`61`
14
- * `dropped` ticks
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/python3
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
- raise ValueError(err_mesg)
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
- raise ValueError(err_mesg)
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:
@@ -2,4 +2,4 @@
2
2
  threefive.version
3
3
  from the cli tool run: threefive version
4
4
  """
5
- version='2.4.63'
5
+ version='2.4.65'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: threefive
3
- Version: 2.4.63
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`.`63`
29
- * threefive `2`.`4`.`61`
30
- * `dropped` ticks
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