xsdata
xsdata copied to clipboard
My bug, but difficult to track down in serialisation. strftime() argumentn 1 must be a str, not None.
I wrote a bug where I assigned a tuple with two dates and a string to an element, where I should have assigned only the string. Now considering below, is this only a bug on my side or did I uncover a different issue?
availability_condition = AvailabilityCondition(valid_day_bits=(datetime.datetime.now(), datetime.datetime.now(), 'hello world')
Traceback (most recent call last):
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/converter.py", line 471, in serialize
return value.strftime(kwargs["format"])
TypeError: strftime() argument 1 must be str, not None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/mnt/storage/home/skinkie/PycharmProjects/doeksenscraper/gvb.py", line 905, in <module>
serializer.write(out, publication_delivery, ns_map)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 75, in write
handler.write(events)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/writers/lxml.py", line 36, in write
super().write(events)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/mixins.py", line 110, in write
for event, *args in events:
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 86, in write_object
yield from self.write_dataclass(obj, qname=qname, xsi_type=xsi_type)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 116, in write_dataclass
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 151, in write_value
yield from self.write_any_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 190, in write_any_type
yield from self.write_xsi_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 128, in write_xsi_type
yield from self.write_dataclass(
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 116, in write_dataclass
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 147, in write_value
yield from self.write_elements(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 251, in write_elements
yield from self.write_choice(choice, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 285, in write_choice
yield from func(value, choice, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 151, in write_value
yield from self.write_any_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 190, in write_any_type
yield from self.write_xsi_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 128, in write_xsi_type
yield from self.write_dataclass(
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 116, in write_dataclass
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 151, in write_value
yield from self.write_any_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 190, in write_any_type
yield from self.write_xsi_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 128, in write_xsi_type
yield from self.write_dataclass(
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 116, in write_dataclass
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 149, in write_value
yield from self.write_list(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 158, in write_list
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 151, in write_value
yield from self.write_any_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 190, in write_any_type
yield from self.write_xsi_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 128, in write_xsi_type
yield from self.write_dataclass(
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 116, in write_dataclass
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 151, in write_value
yield from self.write_any_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 190, in write_any_type
yield from self.write_xsi_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 128, in write_xsi_type
yield from self.write_dataclass(
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 116, in write_dataclass
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 147, in write_value
yield from self.write_elements(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 251, in write_elements
yield from self.write_choice(choice, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 285, in write_choice
yield from func(value, choice, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 151, in write_value
yield from self.write_any_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 190, in write_any_type
yield from self.write_xsi_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 128, in write_xsi_type
yield from self.write_dataclass(
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 116, in write_dataclass
yield from self.write_value(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 151, in write_value
yield from self.write_any_type(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 192, in write_any_type
yield from self.write_element(value, var, namespace)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 299, in write_element
yield XmlWriterEvent.DATA, self.encode(value, var)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 408, in encode
return [cls.encode(v, var) for v in value]
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 408, in <listcomp>
return [cls.encode(v, var) for v in value]
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/dataclass/serializers/xml.py", line 413, in encode
return converter.serialize(value, format=var.format)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/converter.py", line 101, in serialize
return instance.serialize(value, **kwargs)
File "/home/skinkie/PycharmProjects/doeksenscraper/venv/lib/python3.9/site-packages/xsdata/formats/converter.py", line 475, in serialize
raise ConverterError(e)
xsdata.exceptions.ConverterError: strftime() argument 1 must be str, not None
Yeah the error there is a bit misleading, for wildcard elements you have to use one of the builtin datatypes for dates otherwise you have to provide a format metadata option, I will work to update the error message there
https://xsdata.readthedocs.io/en/latest/data-types.html#working-with-date-strings
@tefra offtopic, did you receive my email before new year?
@skinkie I just replied, it's been hectic lately, I switched job last month and I took some time off during the holidays.
Closing duplicate