diff options
| -rw-r--r-- | youtube_dl/extractor/brightcove.py | 6 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 4 | 
2 files changed, 5 insertions, 5 deletions
| diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py index 68ee5292b..c784ba785 100644 --- a/youtube_dl/extractor/brightcove.py +++ b/youtube_dl/extractor/brightcove.py @@ -24,13 +24,13 @@ class BrightcoveIE(InfoExtractor):          object_doc = xml.etree.ElementTree.fromstring(object_str)          assert u'BrightcoveExperience' in object_doc.attrib['class']          params = {'flashID': object_doc.attrib['id'], -                  'playerID': object_doc.find('./param[@name="playerID"]').attrib['value'], +                  'playerID': find_xpath_attr(object_doc, './param', 'name', 'playerID').attrib['value'],                    } -        playerKey = object_doc.find('./param[@name="playerKey"]') +        playerKey = find_xpath_attr(object_doc, './param', 'name', 'playerKey')          # Not all pages define this value          if playerKey is not None:              params['playerKey'] = playerKey.attrib['value'] -        videoPlayer = object_doc.find('./param[@name="@videoPlayer"]') +        videoPlayer = find_xpath_attr(object_doc, './param', 'name', '@videoPlayer')          if videoPlayer is not None:              params['@videoPlayer'] = videoPlayer.attrib['value']          data = compat_urllib_parse.urlencode(params) diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 76fa2950c..31db1bf8c 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -201,8 +201,8 @@ else:  if sys.version_info >= (2,7):      def find_xpath_attr(node, xpath, key, val):          """ Find the xpath xpath[@key=val] """ -        assert re.match(r'^[a-z]+$', key) -        assert re.match(r'^[a-z]*$', val) +        assert re.match(r'^[a-zA-Z]+$', key) +        assert re.match(r'^[a-zA-Z@]*$', val)          expr = xpath + u"[@%s='%s']" % (key, val)          return node.find(expr)  else: | 
