From f8e65ef4516d1c65a0dcdbe40b5d42673a0b0dad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 8 Feb 2024 13:56:40 +0900
Subject: [PATCH] web_renderjs_ui: py3

---
 .../erp5_web/Base_extractReferredObjectDictFromHtml.py      | 2 +-
 .../portal_components/extension.erp5.WebRenderJSUI.py       | 2 +-
 .../portal_skins/erp5_web_renderjs_ui/login_once_form.zpt   | 2 +-
 .../portal_components/test.erp5.testRJSUpgrader.py          | 6 +++---
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/Base_extractReferredObjectDictFromHtml.py b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/Base_extractReferredObjectDictFromHtml.py
index 9d65672b7a2..f6cc02ea541 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/Base_extractReferredObjectDictFromHtml.py
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/Base_extractReferredObjectDictFromHtml.py
@@ -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)
diff --git a/bt5/erp5_web_renderjs_ui/ExtensionTemplateItem/portal_components/extension.erp5.WebRenderJSUI.py b/bt5/erp5_web_renderjs_ui/ExtensionTemplateItem/portal_components/extension.erp5.WebRenderJSUI.py
index 69de7a28682..bc47cd5d65e 100644
--- a/bt5/erp5_web_renderjs_ui/ExtensionTemplateItem/portal_components/extension.erp5.WebRenderJSUI.py
+++ b/bt5/erp5_web_renderjs_ui/ExtensionTemplateItem/portal_components/extension.erp5.WebRenderJSUI.py
@@ -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()
diff --git a/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/login_once_form.zpt b/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/login_once_form.zpt
index 52336be62de..32cc82d4f52 100644
--- a/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/login_once_form.zpt
+++ b/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/login_once_form.zpt
@@ -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'"
diff --git a/bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testRJSUpgrader.py b/bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testRJSUpgrader.py
index 7be1867a767..2f996a592b6 100644
--- a/bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testRJSUpgrader.py
+++ b/bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testRJSUpgrader.py
@@ -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)
-- 
2.30.9