aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/utils.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-01-20 22:11:34 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2014-01-20 22:11:34 +0100
commit5aafe895fce2a7be9595cb2e56b7bd73a748e6b6 (patch)
tree092e8e5663aceb9adb7475b5b2d9c9b7ee7a84e6 /youtube_dl/utils.py
parentb853d2e1555dbb4a09fe3d7857c6d2bc044646f4 (diff)
downloadyoutube-dl-5aafe895fce2a7be9595cb2e56b7bd73a748e6b6.tar.xz
Correct XML ampersand fixup
Diffstat (limited to 'youtube_dl/utils.py')
-rw-r--r--youtube_dl/utils.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index 73fe1ad0a..70f284149 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -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 '&amp;' in XML"""
- return xml_str.replace(u'&', u'&amp;')
+ return re.sub(
+ r'&(?!amp;|lt;|gt;|apos;|quot;|#x[0-9a-fA-F]{,4};|#[0-9]{,4};)',
+ u'&amp;',
+ xml_str)
def setproctitle(title):