Use regexp to detect version number

This commit is contained in:
Sergio Costas 2025-01-18 20:26:12 +01:00
parent f92e52a4af
commit eebf4b5370
2 changed files with 10 additions and 5 deletions

View file

@ -38,9 +38,11 @@ if config_data is None:
Gtk.init(sys.argv) Gtk.init(sys.argv)
locale.bindtextdomain(config_data.gettext_domain, config_data.share_locale)
locale.textdomain(config_data.gettext_domain)
gettext.install(config_data.gettext_domain, localedir=config_data.share_locale) gettext.install(config_data.gettext_domain, localedir=config_data.share_locale)
locale.setlocale(locale.LC_ALL, "")
locale.bindtextdomain(config_data.gettext_domain, config_data.share_locale)
locale.bind_textdomain_codeset(config_data.gettext_domain, "UTF-8")
locale.textdomain(config_data.gettext_domain)
def py(): def py():
global config_data global config_data

View file

@ -18,6 +18,7 @@
import subprocess import subprocess
import os import os
import re
import devedeng.configuration_data import devedeng.configuration_data
import devedeng.executor import devedeng.executor
import devedeng.mux_dvd_menu import devedeng.mux_dvd_menu
@ -112,7 +113,7 @@ class ffmpeg(devedeng.executor.executor):
devedeng.executor.executor.__init__(self) devedeng.executor.executor.__init__(self)
self.config = devedeng.configuration_data.configuration.get_config() self.config = devedeng.configuration_data.configuration.get_config()
try: try:
version_number = 0 version_number = 7
handle = subprocess.Popen( handle = subprocess.Popen(
["ffmpeg", "-version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) ["ffmpeg", "-version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(stdout, stderr) = handle.communicate() (stdout, stderr) = handle.communicate()
@ -120,10 +121,12 @@ class ffmpeg(devedeng.executor.executor):
for line in stdout.decode("latin-1").split("\n"): for line in stdout.decode("latin-1").split("\n"):
line = line.strip() line = line.strip()
if line.startswith("ffmpeg version "): if line.startswith("ffmpeg version "):
version_number = int(line[15:].split(".")[0]) version_number = int(re.search(r"[0-9]+", line).group())
break
except: except:
version_number = 7
pass pass
print(version_number) print(f"Detected ffmpeg version number: {version_number}")
if version_number <= 6: if version_number <= 6:
self._filter_sep = ",fifo," self._filter_sep = ",fifo,"
else: else: