From 61bf34f3ef84ea21751eb6f2de32c4e93e1bc1ec Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 23 Jan 2018 15:30:37 +0530 Subject: [PATCH] [fix] help images (#4897) --- frappe/utils/help.py | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/frappe/utils/help.py b/frappe/utils/help.py index b6325effd9..45971820c0 100644 --- a/frappe/utils/help.py +++ b/frappe/utils/help.py @@ -174,7 +174,6 @@ class HelpDatabase(object): return intro def make_content(self, html, path, relpath): - if '

' in html: html = html.split('

', 1)[1] @@ -185,18 +184,10 @@ class HelpDatabase(object): app_name = path.split('/', 3)[2] html += get_improve_page_html(app_name, target) - soup = BeautifulSoup(html, 'html.parser') - for link in soup.find_all('a'): - if link.has_attr('href'): - url = link['href'] - if '/user' in url: - data_path = url[url.index('/user'):] - if '.' in data_path: - data_path = data_path[: data_path.rindex('.')] - if data_path: - link['data-path'] = data_path.replace("user", app_name) + self.fix_links(soup, app_name) + self.fix_images(soup, app_name) parent = self.get_parent(relpath) if parent: @@ -208,6 +199,24 @@ class HelpDatabase(object): return soup.prettify() + def fix_links(self, soup, app_name): + for link in soup.find_all('a'): + if link.has_attr('href'): + url = link['href'] + if '/user' in url: + data_path = url[url.index('/user'):] + if '.' in data_path: + data_path = data_path[: data_path.rindex('.')] + if data_path: + link['data-path'] = data_path.replace("user", app_name) + + def fix_images(self, soup, app_name): + for img in soup.find_all('img'): + if img.has_attr('src'): + url = img['src'] + if '/docs/' in url: + img['src'] = url.replace('/docs/', '/assets/{0}_docs/'.format(app_name)) + def build_index(self): for data in self.db.sql('select path, full_path, content from help'): self.make_index(data[0], data[1], data[2])