diff --git a/lumbunglib/feed.py b/lumbunglib/feed.py index 8c2bba0..b2f30df 100644 --- a/lumbunglib/feed.py +++ b/lumbunglib/feed.py @@ -5,7 +5,6 @@ from hashlib import md5 from ast import literal_eval as make_tuple from pathlib import Path from urllib.parse import urlparse -from re import sub import arrow import feedparser @@ -14,7 +13,8 @@ import requests from bs4 import BeautifulSoup from slugify import slugify from re import compile as re_compile -yamlre = re_compile('"') +from re import sub +yamlre = re_compile('[_\?:\'\[\]\{\}\#\&\*\!\|\>\`\"\%]') def write_etag(feed_name, feed_data): @@ -121,12 +121,12 @@ def sanitize_yaml (frontmatter): #some fields are lists l = [] for i in v: - i = yamlre.sub('\\"', i) + i = yamlre.sub(r'\\\g<0>', i) l.append(i) frontmatter[k] = l else: - v = yamlre.sub('\\"', v) + v = yamlre.sub(r'\\\g<0>', v) frontmatter[k] = v return frontmatter