# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
from __future__ import absolute_import
import sys
import re
import xml.etree.ElementTree as ET

from svtplay_dl.utils import get_http_data
from svtplay_dl.log import log
from svtplay_dl.fetcher.http import download_http

if sys.version_info > (3, 0):
    from urllib.parse import urlparse, parse_qs, unquote_plus
else:
    from urlparse import urlparse, parse_qs
    from urllib import unquote_plus

class Sr():
    def handle(self, url):
        return "sverigesradio.se" in url

    def get(self, options, url):
        data = get_http_data(url)
        parse = urlparse(url)
        try:
            metafile = parse_qs(parse[4])["metafile"][0]
            options.other = "%s?%s" % (parse[2], parse[4])
        except KeyError:
            match = re.search("linkUrl=(.*)\;isButton=", data)
            if not match:
                log.error("Can't find video file")
                sys.exit(2)
            options.other = unquote_plus(match.group(1))
        url = "http://sverigesradio.se%s" % options.other
        data = get_http_data(url)
        xml = ET.XML(data)
        url = xml.find("entry").find("ref").attrib["href"]
        download_http(options, url)


@@ -664,32 +664,17 @@
 rl)%0A
-        try:%0A   
+%0A
         
  met
@@ -673,17 +673,20 @@
     
- 
+if %22
 metafile
  = p
@@ -681,18 +681,20 @@
 metafile
- =
+%22 in
  parse_q
@@ -704,27 +704,16 @@
 arse
-%5B4%5D)%5B%22metafile%22%5D%5B0%5D
+.query):
 %0A   
@@ -757,21 +757,26 @@
 arse
-%5B2%5D
+.path
 , parse
-%5B4%5D
+.query
 )%0A  
@@ -786,22 +786,11 @@
    e
-xcept KeyError
+lse
 :%0A  
@@ -1012,16 +1012,17 @@
 oup(1))%0A
+%0A
         

use if "foo" in dict instead of catching KeyError