Commit b3e6b4dd authored by Jérome Perrin's avatar Jérome Perrin

web_renderjs_ui: py3

parent a8f4fef6
......@@ -24,7 +24,7 @@ if not isinstance(deny_tag_list, (list, tuple)):
deny_tag_list = []
def main(data):
if isinstance(data, str):
if isinstance(data, bytes):
data = data.decode("utf-8")
for part in context.Base_parseHtml(data):
handleHtmlPart(part)
......
......@@ -12,7 +12,7 @@ def ERP5Site_extractTranslationMessageListFromHTML(self, text_content):
"""
if not text_content:
return
if isinstance(text_content, str):
if isinstance(text_content, bytes):
text_content = text_content.decode('utf-8')
parser = lxml.etree.HTMLParser()
......
import json
import re
from six.moves.urllib.parse import urljoin
from Products.ERP5Type.Utils import bytes2str, str2bytes
if REQUEST is None:
REQUEST = context.REQUEST
......@@ -40,6 +40,12 @@ if selected_language == default_language:
else:
base_prefix = '../'
def urljoin(base, url):
# concemtually similar to urllib.parse.urljoin, but without trying to eliminate
# .. path elements, because we want to produce relative URLs that may be parent
# of the base.
return base_prefix + url
mapping_dict = {
"base_prefix": base_prefix,
"frontpage_gadget": web_section.getLayoutProperty("configuration_frontpage_gadget_url", default="worklist"),
......
......@@ -74,7 +74,7 @@
</div>
<div class="dialog_button_container">
<input type="submit" value="Login" i18n:attributes="value" i18n:domain="ui" tal:attributes="name python: '%s:method' % (form_action, )"/>
<a i18n:domain="ui" i18n:translate="" tal:attributes="href python: '%sWebSite_viewRecoverAccount?%s' % (absolute_url, modules['urllib'].urlencode([('came_from', absolute_url)]))">I forgot my password!</a>
<a i18n:domain="ui" i18n:translate="" tal:attributes="href python: '%sWebSite_viewRecoverAccount?%s' % (absolute_url, modules['six.moves.urllib.parse'].urlencode([('came_from', absolute_url)]))">I forgot my password!</a>
</div>
<div class="dialog_button_container" tal:condition="enable_google_login">
<a tal:attributes="href python: root_absolute_url + 'ERP5Site_redirectToGoogleLoginPage'"
......
last_message = context.getLastLog()[-1]
line_list = filter(None, last_message.replace("=\n","").split("\n"))
for line in line_list:
if "http" in line:
return context.REQUEST.RESPONSE.redirect(line.replace("=3D", "="))
import re
from Products.ERP5Type.Utils import bytes2str
last_message_text = bytes2str(context.getMessageList()[-1][2])
__traceback_info__ = last_message_text
raise RuntimeError("URL not found in the email")
return container.REQUEST.RESPONSE.redirect(re.findall(r"http.*", last_message_text)[0])
......@@ -25,9 +25,9 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from six.moves import cStringIO as StringIO
import textwrap
import time
import io
from Products.ERP5Type.tests.utils import createZODBPythonScript
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
......@@ -332,12 +332,12 @@ class TestRenderUpdateTranslationData(RenderJSUpgradeTestCase):
def test_WebSite_getTranslationDataTextContent_extract_from_file(self):
self.portal.portal_skins.custom.manage_addProduct['OFS'].manage_addFile(
'test_portal_skins_gadget.html',
file=StringIO(textwrap.dedent('''
file=io.BytesIO(textwrap.dedent('''
<html>
<!--
data-i18n=Message from file
-->
</html>''')))
</html>''').encode()))
self.portal.changeSkin(None) # refresh skin cache
translation_data_text_content = self.web_site.WebSite_getTranslationDataTextContent()
self.assertIn('"Message from file":', translation_data_text_content)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment