better-ffmpeg-progress 5.4.0__tar.gz → 5.4.1__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 (17) hide show
  1. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/PKG-INFO +1 -1
  2. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress/better_ffmpeg_progress.py +4 -21
  3. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress/utils.py +0 -10
  4. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress.egg-info/PKG-INFO +1 -1
  5. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/setup.py +1 -1
  6. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/LICENSE +0 -0
  7. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/README.md +0 -0
  8. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress/__init__.py +0 -0
  9. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress/enums.py +0 -0
  10. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress/exceptions.py +0 -0
  11. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress/progress_bars.py +0 -0
  12. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress/terminate_process.py +0 -0
  13. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress.egg-info/SOURCES.txt +0 -0
  14. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress.egg-info/dependency_links.txt +0 -0
  15. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress.egg-info/requires.txt +0 -0
  16. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/better_ffmpeg_progress.egg-info/top_level.txt +0 -0
  17. {better_ffmpeg_progress-5.4.0 → better_ffmpeg_progress-5.4.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: better-ffmpeg-progress
3
- Version: 5.4.0
3
+ Version: 5.4.1
4
4
  Summary: Run FFmpeg & see percentage progress + ETA.
5
5
  Home-page: https://github.com/CrypticSignal/better-ffmpeg-progress
6
6
  Author: GitHub.com/CrypticSignal
@@ -1,6 +1,7 @@
1
1
  import math
2
2
  import os
3
3
  import re
4
+ import shlex
4
5
  from pathlib import Path
5
6
  import subprocess
6
7
  from sys import exit
@@ -17,7 +18,6 @@ from .utils import (
17
18
  validate_ffmpeg_command,
18
19
  get_media_duration,
19
20
  get_expected_output_duration,
20
- check_shell_needed_for_command,
21
21
  is_lavfi_input,
22
22
  )
23
23
  from .terminate_process import terminate_ffmpeg_process
@@ -191,22 +191,7 @@ class FfmpegProcess:
191
191
  print_command: bool = False,
192
192
  ) -> None:
193
193
  if print_command:
194
- cmd_str = (
195
- " ".join(self._ffmpeg_command)
196
- if isinstance(self._ffmpeg_command, list)
197
- else self._ffmpeg_command
198
- )
199
- print(f"Executing: {cmd_str}")
200
-
201
- self._shell_needed = check_shell_needed_for_command(
202
- self._ffmpeg_command
203
- if isinstance(self._ffmpeg_command, list)
204
- else [self._ffmpeg_command]
205
- )
206
-
207
- current_ffmpeg_command = self._ffmpeg_command
208
- if self._shell_needed and isinstance(current_ffmpeg_command, list):
209
- current_ffmpeg_command = " ".join(current_ffmpeg_command)
194
+ print(f"Executing: {shlex.join(self._ffmpeg_command)}")
210
195
 
211
196
  try:
212
197
  creationflags = 0
@@ -221,16 +206,14 @@ class FfmpegProcess:
221
206
  encoding="utf-8",
222
207
  ) as f:
223
208
  self._process = subprocess.Popen(
224
- current_ffmpeg_command,
225
- shell=self._shell_needed,
209
+ self._ffmpeg_command,
226
210
  stdout=subprocess.PIPE,
227
211
  stderr=f,
228
212
  creationflags=creationflags,
229
213
  )
230
214
  else:
231
215
  self._process = subprocess.Popen(
232
- current_ffmpeg_command,
233
- shell=self._shell_needed,
216
+ self._ffmpeg_command,
234
217
  stdout=subprocess.PIPE,
235
218
  stderr=self._ffmpeg_log_file,
236
219
  creationflags=creationflags,
@@ -117,16 +117,6 @@ def get_media_duration(input_file: str) -> Optional[float]:
117
117
  return None
118
118
 
119
119
 
120
- def check_shell_needed_for_command(command: List[str]) -> bool:
121
- """
122
- Checks if any part of the command contains shell operators,
123
- indicating that shell=True might be needed for subprocess.Popen.
124
- This is a basic check and might not cover all edge cases.
125
- """
126
- shell_operators = {"|", ">", "<", ">>", "&&", "||"} # Basic set
127
- return any(op in item for item in command for op in shell_operators)
128
-
129
-
130
120
  def parse_ffmpeg_progress_line(
131
121
  line: bytes, total_duration_secs: Optional[float]
132
122
  ) -> Optional[float]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: better-ffmpeg-progress
3
- Version: 5.4.0
3
+ Version: 5.4.1
4
4
  Summary: Run FFmpeg & see percentage progress + ETA.
5
5
  Home-page: https://github.com/CrypticSignal/better-ffmpeg-progress
6
6
  Author: GitHub.com/CrypticSignal
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as f:
5
5
 
6
6
  setuptools.setup(
7
7
  name="better-ffmpeg-progress",
8
- version="5.4.0",
8
+ version="5.4.1",
9
9
  author="GitHub.com/CrypticSignal",
10
10
  author_email="theaudiophile@outlook.com",
11
11
  description="Run FFmpeg & see percentage progress + ETA.",