This is from an add-on with a GS profile which tries to import content. When it is run by plone.app.robotframework's robot server, there is no global request set up.
Traceback (most recent call last):
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/bin/robot-server", line 10, in <module>
sys.exit(server())
~~~~~~^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/robotframework/server.py", line 225, in server
start(args.layer)
~~~~~^^^^^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/robotframework/server.py", line 54, in start
zsl.start_zope_server(zope_layer_dotted_name)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/robotframework/server.py", line 279, in start_zope_server
setup_layer(new_layer)
~~~~~~~~~~~^^^^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/robotframework/server.py", line 360, in setup_layer
setup_layer(base, setup_layers)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/robotframework/server.py", line 373, in setup_layer
layer.setUp()
~~~~~~~~~~~^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/robotframework/testing.py", line 248, in setUp
super().setUp()
~~~~~~~~~~~~~^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/testing/helpers.py", line 378, in setUp
self.setUpPloneSite(portal)
~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/robotframework/testing.py", line 243, in setUpPloneSite
self.applyProfile(portal, name)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/testing/helpers.py", line 436, in applyProfile
return applyProfile(
portal,
...<4 lines>...
blacklisted_steps,
)
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/app/testing/helpers.py", line 125, in applyProfile
setupTool.runAllImportStepsFromProfile(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
profileId,
^^^^^^^^^^
...<3 lines>...
blacklisted_steps=blacklisted_steps,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/Products/GenericSetup/tool.py", line 393, in runAllImportStepsFromProfile
result = self._runImportStepsFromContext(
purge_old=purge_old,
...<3 lines>...
blacklisted_steps=blacklisted_steps,
dependency_strategy=dependency_strategy)
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/Products/GenericSetup/tool.py", line 1513, in _runImportStepsFromContext
self._doRunHandler(post_handler)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/Products/GenericSetup/tool.py", line 1360, in _doRunHandler
return handler_function(self)
File "/Users/davisagli/Work/kitconcept-deepl/backend/src/kitconcept/deepl/setuphandlers/initial.py", line 23, in create_example_content
for line in importer.import_site(EXAMPLE_CONTENT_FOLDER):
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/exportimport/importers/__init__.py", line 58, in import_site
report.append(importer.import_data(path))
~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/Users/davisagli/Work/kitconcept-deepl/backend/.venv/lib/python3.13/site-packages/plone/exportimport/importers/content.py", line 168, in import_data
self.request[settings.IMPORT_PATH_KEY] = base_path
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object does not support item assignment
plone.exportimport could handle this better by getting the request from site.REQUEST
This is from an add-on with a GS profile which tries to import content. When it is run by plone.app.robotframework's robot server, there is no global request set up.
Traceback:
plone.exportimport could handle this better by getting the request from site.REQUEST
Or maybe we should fix it in plone.app.robotframework