Merge remote-tracking branch 'Rudloff/websurg'
[youtube-dl] / youtube_dl / utils.py
index 0457f3dedb06bce5fdce6cff1bf87b074b7206da..3e81c308b27fb9618dba89a30fd5964651f48cbf 100644 (file)
@@ -230,6 +230,19 @@ else:
                 return f
         return None
 
+# On python2.6 the xml.etree.ElementTree.Element methods don't support
+# the namespace parameter
+def xpath_with_ns(path, ns_map):
+    components = [c.split(':') for c in path.split('/')]
+    replaced = []
+    for c in components:
+        if len(c) == 1:
+            replaced.append(c[0])
+        else:
+            ns, tag = c
+            replaced.append('{%s}%s' % (ns_map[ns], tag))
+    return '/'.join(replaced)
+
 def htmlentity_transform(matchobj):
     """Transforms an HTML entity to a character.