Рассмотрим следующие URL
http://m3u.com/tunein.m3u http://asxsomeurl.com/listen.asx:8024 http://www.plssomeotherurl.com/station.pls?id=111 http://22.198.133.16:8024
Каков правильный способ определения расширений файлов (.m3u/.asx/.pls)? Очевидно, что последний не имеет расширения файла.
EDIT: Я забыл упомянуть, что m3u/asx/pls являются плейлистами (текстовыми файлами) для аудиопотоков и должны анализироваться по-разному. Цель определяет расширение, а затем отправляет URL-адрес правильной функции синтаксического анализа. Например.
url = argv[1]
ext = GetExtension(url)
if ext == "pls":
realurl = ParsePLS(url)
elif ext == "asx":
realurl = ParseASX(url)
(etc.)
else:
realurl = url
Play(realurl)
GetExtension() should return the file extension (if any), preferrably without connecting to the URL.