diff options
author | wm4 <wm4@nowhere> | 2014-04-29 02:16:18 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-04-30 11:45:32 +0200 |
commit | a8e6caf56b2de80e1bdad18432d5d58e9b696748 (patch) | |
tree | 77b093ec55fa6633897ccf9fb44438c78e7a1084 /TOOLS | |
parent | e6cca1e43b7a84a897648a0fa6730f2f01d3bc30 (diff) | |
download | mpv-a8e6caf56b2de80e1bdad18432d5d58e9b696748.tar.bz2 mpv-a8e6caf56b2de80e1bdad18432d5d58e9b696748.tar.xz |
TOOLS/umpv: don't mangle URLs
This attempted to prefix the current directory to URLs, because it
didn't recognize them as already absolute paths.
Diffstat (limited to 'TOOLS')
-rwxr-xr-x | TOOLS/umpv | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/TOOLS/umpv b/TOOLS/umpv index 162ce50449..aaa5d1cd1b 100755 --- a/TOOLS/umpv +++ b/TOOLS/umpv @@ -43,12 +43,27 @@ import errno import subprocess import fcntl import stat +import string if len(sys.argv) < 1: sys.exit(1) files = sys.argv[1:] + +# this is about the same method mpv uses to decide this +def is_url(filename): + parts = filename.split(":", 1) + if len(parts) < 2: + return False + # protocol prefix has no special characters => it's an URL + prefix = parts[0] + return len(prefix.translate(None, string.letters)) == 0 + # make them absolute; also makes them safe against interpretation as options -files = [os.path.abspath(f) for f in files] +def make_abs(filename): + if not is_url(filename): + return os.path.abspath(f) + return f +files = [make_abs(f) for f in files] opts_env = os.getenv("UMPV_OPTIONS") opts_env = opts_env.split() if opts_env else [] |