diff options
Diffstat (limited to 'youtube_dl/utils.py')
| -rw-r--r-- | youtube_dl/utils.py | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 879394d88..3d2903986 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -224,7 +224,7 @@ 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-zA-Z]+$', key) -        assert re.match(r'^[a-zA-Z0-9@\s]*$', val) +        assert re.match(r'^[a-zA-Z0-9@\s:._]*$', val)          expr = xpath + u"[@%s='%s']" % (key, val)          return node.find(expr)  else: @@ -1092,9 +1092,12 @@ def month_by_name(name):          return None -def fix_xml_all_ampersand(xml_str): +def fix_xml_ampersands(xml_str):      """Replace all the '&' by '&' in XML""" -    return xml_str.replace(u'&', u'&') +    return re.sub( +        r'&(?!amp;|lt;|gt;|apos;|quot;|#x[0-9a-fA-F]{,4};|#[0-9]{,4};)', +        u'&', +        xml_str)  def setproctitle(title): | 
