summaryrefslogtreecommitdiffstats
path: root/TOOLS
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-04-29 02:16:18 +0200
committerwm4 <wm4@nowhere>2014-04-30 11:45:32 +0200
commita8e6caf56b2de80e1bdad18432d5d58e9b696748 (patch)
tree77b093ec55fa6633897ccf9fb44438c78e7a1084 /TOOLS
parente6cca1e43b7a84a897648a0fa6730f2f01d3bc30 (diff)
downloadmpv-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-xTOOLS/umpv17
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 []