aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpyblog17
-rw-r--r--utils/utils.py18
2 files changed, 19 insertions, 16 deletions
diff --git a/pyblog b/pyblog
index b625f1c7..2f87d0eb 100755
--- a/pyblog
+++ b/pyblog
@@ -638,21 +638,6 @@ def rewrite_title():
indexmd.write(line)
-def absolutify_links(soup, baseurl):
- """Make links in an article absolute.
-
- Parameters
- ----------
- soup : bs4.BeautifulSoup
- baseurl : str
-
- """
- for tag in soup.find_all(lambda tag: tag.has_attr("href")):
- tag["href"] = urllib.parse.urljoin(baseurl, tag["href"])
- for tag in soup.find_all(lambda tag: tag.has_attr("src")):
- tag["src"] = urllib.parse.urljoin(baseurl, tag["src"])
-
-
def generate_index_and_feed():
"""Generate index.html and feeds (atom and rss)."""
# pylint: disable=too-many-statements,attribute-defined-outside-init,invalid-name
@@ -753,7 +738,7 @@ def generate_index_and_feed():
for script_tag in article.find_all("script"):
tags_to_remove.append(script_tag)
# make internal links absolute
- absolutify_links(article, entry_url)
+ utils.absolutify_links(article, entry_url)
# remove marked tags
for tag in tags_to_remove:
tag.extract()
diff --git a/utils/utils.py b/utils/utils.py
index bf3d4fbe..a82c23e6 100644
--- a/utils/utils.py
+++ b/utils/utils.py
@@ -7,6 +7,9 @@ import time
import datetime
import dateutil.tz
+import bs4
+import urllib.parse
+
@contextmanager
def init_colorama():
@@ -34,3 +37,18 @@ def current_datetime():
"""
return datetime.datetime.fromtimestamp(round(time.time()),
dateutil.tz.tzlocal())
+
+
+def absolutify_links(soup, baseurl):
+ """Make links in an article absolute.
+
+ Parameters
+ ----------
+ soup : bs4.BeautifulSoup
+ baseurl : str
+
+ """
+ for tag in soup.find_all(lambda tag: tag.has_attr("href")):
+ tag["href"] = urllib.parse.urljoin(baseurl, tag["href"])
+ for tag in soup.find_all(lambda tag: tag.has_attr("src")):
+ tag["src"] = urllib.parse.urljoin(baseurl, tag["src"])