openedx / xblock-image-explorer

GNU Affero General Public License v3.0
9 stars 39 forks source link

Add support for python3 #86

Closed morenol closed 3 years ago

morenol commented 3 years ago

I tried to install this on juniper devstack, and when I tried to create a component with this xblock, it failed with this error:

juniper-devstack.studio |   File "/edx/src/xblock-image-explorer/image_explorer/image_explorer.py", line 357, in _inner_content
juniper-devstack.studio |     tag_content = u''.join(html.tostring(e) for e in tag)
juniper-devstack.studio | TypeError: sequence item 0: expected str instance, bytes found

Fortunately, this was the only change that I needed to have this xblock working, I also added to setup.py parsel as a requirement in order to prevent the error:

juniper-devstack.studio | 2020-12-04 20:30:42,574 WARNING 239 [xblock.plugin] [user None] plugin.py:147 - Unable to load XBlock 'image-explorer'
juniper-devstack.studio | Traceback (most recent call last):
juniper-devstack.studio |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/xblock/plugin.py", line 144, in load_classes
juniper-devstack.studio |     yield (class_.name, cls._load_class_entry_point(class_))
juniper-devstack.studio |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/xblock/plugin.py", line 73, in _load_class_entry_point
juniper-devstack.studio |     class_ = entry_point.load()
juniper-devstack.studio |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2447, in load
juniper-devstack.studio |     return self.resolve()
juniper-devstack.studio |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2453, in resolve
juniper-devstack.studio |     module = __import__(self.module_name, fromlist=['__name__'], level=0)
juniper-devstack.studio |   File "/edx/src/xblock-image-explorer/image_explorer/__init__.py", line 25, in <module>
juniper-devstack.studio |     from .image_explorer import ImageExplorerBlock
juniper-devstack.studio |   File "/edx/src/xblock-image-explorer/image_explorer/image_explorer.py", line 34, in <module>
juniper-devstack.studio |     from parsel import Selector
juniper-devstack.studio | ImportError: No module named 'parsel'
morenol commented 3 years ago

Already in the juniper-rebase branch