diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2014-11-02 10:50:30 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2014-11-02 10:50:30 +0100 |
commit | 9580711841d60426e2b888cde7b410ae7d512849 (patch) | |
tree | 4860d80fd274a0ea0c26f605534d8875c23a9915 /youtube_dl/utils.py | |
parent | c30ae9594cea215f36a736f944acd67fcec39d0d (diff) |
[ffmpeg] Move version detection to utils
Diffstat (limited to 'youtube_dl/utils.py')
-rw-r--r-- | youtube_dl/utils.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 2864e5142..fcfdadeb6 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1472,6 +1472,25 @@ def check_executable(exe, args=[]): return exe +def get_exe_version(exe, args=['--version'], + version_re=r'version\s+([0-9._-a-zA-Z]+)', + unrecognized=u'present'): + """ Returns the version of the specified executable, + or False if the executable is not present """ + try: + out, err = subprocess.Popen( + [exe] + args, + stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate() + except OSError: + return False + firstline = out.partition(b'\n')[0].decode('ascii', 'ignore') + m = re.search(version_re, firstline) + if m: + return m.group(1) + else: + return unrecognized + + class PagedList(object): def __len__(self): # This is only useful for tests |