@@ -324,10 +324,24 @@ def rescale(self, units):
324324 {'name': 'E', 'type': 'number', 'unit': 'V', 'reference': 'RHE'},
325325 {'name': 'j', 'type': 'number', 'unit': 'mA / cm2'}]
326326
327+ Unitless fields in ``figureDescription.fields`` (e.g., ``cycle``)
328+ are skipped during rescaling (For testing purposes we add here a
329+ field without units to the datapackage)::
330+
331+ >>> entry = EchemdbEntry.create_example()
332+ >>> entry.resource.custom["metadata"]["echemdb"]["figureDescription"]["fields"].append({"name": "cycle", "type": "number"})
333+ >>> rescaled_entry = entry.rescale(units='original')
334+ >>> rescaled_entry.fields # doctest: +NORMALIZE_WHITESPACE
335+ [{'name': 't', 'type': 'number', 'unit': 's'},
336+ {'name': 'E', 'type': 'number', 'unit': 'V', 'reference': 'RHE'},
337+ {'name': 'j', 'type': 'number', 'unit': 'mA / cm2'}]
338+
327339 """
328340 if units == "original" :
329341 units = {
330- field ["name" ]: field ["unit" ] for field in self .figureDescription .fields
342+ field ["name" ]: field ["unit" ]
343+ for field in self .figureDescription .fields
344+ if hasattr (field , "unit" )
331345 }
332346
333347 return super ().rescale (units )
0 commit comments