X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Futils.py;h=2d12e2df93f6f1e885600e49f0eb6f587494e19f;hb=d6c7a367e88096bb17e323954002c084477fe908;hp=bd46a2da2ad4d3de81b3d4788cbd2bd0bf8b49e8;hpb=e3946f989ea53c14fb7ae0afd29f80a74512a3a3;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index bd46a2da2..2d12e2df9 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1066,14 +1066,28 @@ def fix_xml_all_ampersand(xml_str): def setproctitle(title): + assert isinstance(title, type(u'')) try: libc = ctypes.cdll.LoadLibrary("libc.so.6") except OSError: return title = title buf = ctypes.create_string_buffer(len(title) + 1) - buf.value = title + buf.value = title.encode('utf-8') try: libc.prctl(15, ctypes.byref(buf), 0, 0, 0) except AttributeError: return # Strange libc, just skip this + + +def remove_start(s, start): + if s.startswith(start): + return s[len(start):] + return s + + +def url_basename(url): + m = re.match(r'(?:https?:|)//[^/]+/(?:[^?#]+/)?([^/?#]+)/?(?:[?#]|$)', url) + if not m: + return u'' + return m.group(1)