Preface: The following discussion/"request" could easily be chalked up to "Just be more careful" so feel free to close and move on.
contributed_adaptation_offers = List(
contributes_to=ADAPTATION_OFFERS
)
def _contributed_adaptation_offers_default(self):
return [
AdaptationOffer(
factory=...,
from_protocol=...,
to_protocl=...,
)
]
--- Logging error ---
Traceback (most recent call last):
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/logging/__init__.py", line 994, in emit
msg = self.format(record)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/logging/__init__.py", line 840, in format
return fmt.format(record)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/logging/__init__.py", line 577, in format
record.message = record.getMessage()
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/logging/__init__.py", line 338, in getMessage
msg = msg % self.args
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/traits/adaptation/adaptation_offer.py", line 31, in __repr__
return (f"<{self.__class__.__name__}: '{self.from_protocol_name}' "
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/traits/adaptation/adaptation_offer.py", line 69, in _get_to_protocol_name
return self._get_type_name(self._to_protocol)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/traits/adaptation/adaptation_offer.py", line 150, in _get_type_name
module=type_or_type_name.__module__,
AttributeError: 'NoneType' object has no attribute '__module__'
Call stack:
...
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/ui/tasks/tasks_application.py", line 356, in _create_windows
window = self.create_window(window_layout, restore=True)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/ui/tasks/tasks_application.py", line 257, in create_window
task = self.create_task(task_id)
...
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/ui/tasks/tasks_application.py", line 206, in create_task
for ext in self.task_extensions
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/extension_point.py", line 169, in get
extensions = extension_registry.get_extensions(self.id)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/extension_registry.py", line 114, in get_extensions
return self._get_extensions(extension_point_id)[:]
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/provider_extension_registry.py", line 103, in _get_extensions
extensions = self._initialize_extensions(extension_point_id)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/provider_extension_registry.py", line 289, in _initialize_extensions
extensions.append(provider.get_extensions(extension_point_id)[:])
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/plugin.py", line 156, in get_extensions
extensions = self._get_extensions_from_trait(trait_names[0])
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/plugin.py", line 355, in _get_extensions_from_trait
extensions = getattr(self, trait_name)
...
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/application.py", line 383, in get_service
protocol, query, minimize, maximize
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/service_registry.py", line 87, in get_service
services = self.get_services(protocol, query, minimize, maximize)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/service_registry.py", line 124, in get_services
actual_protocol, name, obj, properties, service_id
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/service_registry.py", line 269, in _resolve_factory
obj = obj(**properties)
...
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/extension_point.py", line 169, in get
extensions = extension_registry.get_extensions(self.id)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/application.py", line 213, in get_extensions
return self.extension_registry.get_extensions(extension_point_id)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/extension_registry.py", line 114, in get_extensions
return self._get_extensions(extension_point_id)[:]
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/provider_extension_registry.py", line 103, in _get_extensions
extensions = self._initialize_extensions(extension_point_id)
File "/home/spotter/.edm/envs/seismic36/lib/python3.6/site-packages/envisage/provider_extension_registry.py", line 291, in _initialize_extensions
logger.debug("extensions to <%s> <%s>", extension_point_id, extensions)
Unable to print the message and arguments - possible formatting error.
Use the traceback above to help find the error.
No peaking, see if you can spot the error (again it's a case of "Be more careful")
So my low priority request is a more useful error message here or more careful parsing of the contents passed into the constructor of AdaptationOffer
Preface: The following discussion/"request" could easily be chalked up to "Just be more careful" so feel free to close and move on.
That said, the following code
created this traceback:
No peaking, see if you can spot the error (again it's a case of "Be more careful")
Answer
diff --git a/steelhead/plugin/steelhead_plugin.py b/steelhead/plugin/steelhead_plugin.py index 2a4e533a..75a26646 100644 --- a/steelhead/plugin/steelhead_plugin.py +++ b/steelhead/plugin/steelhead_plugin.py @@ -50,6 +50,6 @@ class ZgyPlugin(Plugin): AdaptationOffer( factory=ZgyVolumeToISeismicVolume, from_protocol=ZgyVolume, - to_protocl=I_SEISMIC_VOLUME, + to_protocol=I_SEISMIC_VOLUME, ) ]So my low priority request is a more useful error message here or more careful parsing of the contents passed into the constructor of
AdaptationOffer