typed-ffmpeg-compatible 3.2.3__py3-none-any.whl → 3.2.4__py3-none-any.whl

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.
typed_ffmpeg/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '3.2.3'
21
- __version_tuple__ = version_tuple = (3, 2, 3)
20
+ __version__ = version = '3.2.4'
21
+ __version_tuple__ = version_tuple = (3, 2, 4)
@@ -309,7 +309,8 @@ def parse_filter_complex(
309
309
  Returns:
310
310
  Updated stream mapping with new filter outputs added
311
311
  """
312
- filter_units = filter_complex.split(";")
312
+ # Use re.split with negative lookbehind to handle escaped semicolons
313
+ filter_units = re.split(r"(?<!\\);", filter_complex)
313
314
 
314
315
  for filter_unit in filter_units:
315
316
  pattern = re.compile(
@@ -335,11 +336,12 @@ def parse_filter_complex(
335
336
 
336
337
  # Parse filter parameters into key-value pairs
337
338
  filter_params = {}
339
+ param_str = param_str and param_str.strip()
338
340
  if param_str:
339
- param_parts = param_str.strip().split(":")
341
+ param_parts = re.split(r"(?<!\\):", param_str)
340
342
  for part in param_parts:
341
343
  if "=" in part:
342
- key, value = part.split("=", 1)
344
+ key, value = re.split(r"(?<!\\)=", part, 1)
343
345
  filter_params[key.strip()] = value.strip()
344
346
 
345
347
  assert isinstance(filter_name, str), f"Expected filter name, got {filter_name}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: typed-ffmpeg-compatible
3
- Version: 3.2.3
3
+ Version: 3.2.4
4
4
  Summary: Modern Python FFmpeg wrappers offer comprehensive support for complex filters, complete with detailed typing and documentation.
5
5
  Author-email: lucemia <lucemia@gmail.com>
6
6
  License-Expression: MIT
@@ -1,5 +1,5 @@
1
1
  typed_ffmpeg/__init__.py,sha256=n1SZfENc9xhZ0eA3ZzkBNPuIY-Pt3-rOwB8-uUj5olU,1592
2
- typed_ffmpeg/_version.py,sha256=P9n86yqDQj4uxDqvcIKGlJWsA9YZ7G1BSuEXNqVACeI,511
2
+ typed_ffmpeg/_version.py,sha256=RFt1Qs0Gxv7mhjBYwRXtP2Na7ShtFF9luYHvh8kkWxM,511
3
3
  typed_ffmpeg/base.py,sha256=C5Tqbx2I0c-09D7aXKZoGkspu-lAAeAhuOns5zr3PXQ,6304
4
4
  typed_ffmpeg/exceptions.py,sha256=D4SID6WOwkjVV8O8mAjrEDHWn-8BRDnK_jteaDof1SY,2474
5
5
  typed_ffmpeg/filters.py,sha256=_lBpGZgPHK3KgGVrw-TCdQEsBRuEXVIgwggYNGd80MU,110076
@@ -13,7 +13,7 @@ typed_ffmpeg/common/cache.py,sha256=j0JvfX7jewLpdJWxgo7Pwze0BkUJdYGHX2uGR8BZ-9M,
13
13
  typed_ffmpeg/common/schema.py,sha256=qM8yfMX9UU3EAQSNsTrr-SAmyqKx8eQCXTtu3RJWkEk,19673
14
14
  typed_ffmpeg/common/serialize.py,sha256=dLim0DBP5CdJ1JiMV9xEmmh1XMSIhBOWs61EopAL15s,7719
15
15
  typed_ffmpeg/compile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- typed_ffmpeg/compile/compile_cli.py,sha256=--2j1QPPOB2pEQzqFM4VpINokbJilcegtRqTRF2_Jfg,31588
16
+ typed_ffmpeg/compile/compile_cli.py,sha256=SwXVtEK1-Bl-KWpFESMpX2On7nOGAAmsDQWGmnv3Dnw,31741
17
17
  typed_ffmpeg/compile/compile_json.py,sha256=YCiTyfAnUVSbFr7BiQpmJYs13K5sa-xo77Iih33mb6I,992
18
18
  typed_ffmpeg/compile/compile_python.py,sha256=oo4e8Ldwk0OkrZtHucfuGR5JDFF8xY8omNKPMDyUpQ8,11506
19
19
  typed_ffmpeg/compile/context.py,sha256=macQ3HhEJ73j_WbWYtU9GCQCzcB_KQGAPimcuU-WOac,10946
@@ -50,9 +50,9 @@ typed_ffmpeg/utils/view.py,sha256=QCSlQoQkRBI-T0sWjiywGgM9DlKd8Te3CB2ZYX-pEVU,34
50
50
  typed_ffmpeg/utils/lazy_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
51
  typed_ffmpeg/utils/lazy_eval/operator.py,sha256=QWybd-UH3VdDa8kgWkqAMi3WV0b0WF1d1JixQr6is2E,4136
52
52
  typed_ffmpeg/utils/lazy_eval/schema.py,sha256=WSg-E3MS3itN1AT6Dq4Z9btnRHEReuN3o6zruXou7h4,9623
53
- typed_ffmpeg_compatible-3.2.3.dist-info/licenses/LICENSE,sha256=8Aaya5i_09Cou2i3QMxTwz6uHGzi_fGA4uhkco07-A4,1066
54
- typed_ffmpeg_compatible-3.2.3.dist-info/METADATA,sha256=HwRj91ZONWRkUUACimtXw8TNwhZveMe358-cYoBYaUU,8385
55
- typed_ffmpeg_compatible-3.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
56
- typed_ffmpeg_compatible-3.2.3.dist-info/entry_points.txt,sha256=kUQvZ27paV-07qtkIFV-emKsYtjFOTw9kknBRSXPs04,45
57
- typed_ffmpeg_compatible-3.2.3.dist-info/top_level.txt,sha256=vuASJGVRQiNmhWY1pt0RXESWSNkknWXqWLIRAU7H_L4,13
58
- typed_ffmpeg_compatible-3.2.3.dist-info/RECORD,,
53
+ typed_ffmpeg_compatible-3.2.4.dist-info/licenses/LICENSE,sha256=8Aaya5i_09Cou2i3QMxTwz6uHGzi_fGA4uhkco07-A4,1066
54
+ typed_ffmpeg_compatible-3.2.4.dist-info/METADATA,sha256=q3R0Y2gpwPQ1cLL04rvq8RySvoJvsb8xE1XANzruez0,8385
55
+ typed_ffmpeg_compatible-3.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
56
+ typed_ffmpeg_compatible-3.2.4.dist-info/entry_points.txt,sha256=kUQvZ27paV-07qtkIFV-emKsYtjFOTw9kknBRSXPs04,45
57
+ typed_ffmpeg_compatible-3.2.4.dist-info/top_level.txt,sha256=vuASJGVRQiNmhWY1pt0RXESWSNkknWXqWLIRAU7H_L4,13
58
+ typed_ffmpeg_compatible-3.2.4.dist-info/RECORD,,