m42e/mayan-automatic-metadata

JSON Decode Error

BrendanKOz opened this issue · 1 comments

Script runs across document, finds a regex match for "duedate", correctly parses the date, then throws a JSON Decode error.
Is this a possible version incompatibility issue? I assume the JSON is coming from Mayan. Mayan is V4.4.2.

2023-01-30 06:15:03,822 utils INFO Parsing 02 Jul 21 result 2021-07-02
2023-01-30 06:15:03,822 mambase INFO statementnumber not found in document
2023-01-30 06:15:03,823 mambase INFO closingbalance not found in document
2023-01-30 06:15:03,823 mayan DEBUG endpoint api call http://mayan-app:8000/api/v4/documents/540/metadata/?
2023-01-30 06:15:03,824 urllib3.connectionpool DEBUG Resetting dropped connection: mayan-app
2023-01-30 06:15:04,064 urllib3.connectionpool DEBUG http://mayan-app:8000 "GET /api/v4/documents/540/metadata/ HTTP/1.1" 200 5890
2023-01-30 06:15:04,065 mayan DEBUG endpoint api call http://mayan-app:8000/api/v4/documents/540/metadata/745/?
2023-01-30 06:15:04,066 urllib3.connectionpool DEBUG Resetting dropped connection: mayan-app
2023-01-30 06:15:04,371 urllib3.connectionpool DEBUG http://mayan-app:8000 "PUT /api/v4/documents/540/metadata/745/ HTTP/1.1" 500 2697
2023-01-30 06:15:04,377 rq.worker DEBUG Handling failed execution of job 521c90ec-e2ed-4c3a-829e-73c4986d4ca9
2023-01-30 06:15:04,379 rq.worker ERROR json.decoder.JSONDecodeError: Expecting value: line 10 column 1 (char 9)
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/rq/worker.py", line 875, in perform_job
rv = job.perform()
File "/usr/local/lib/python3.8/site-packages/rq/job.py", line 648, in perform
self._result = self._execute()
File "/usr/local/lib/python3.8/site-packages/rq/job.py", line 654, in _execute
return self.func(*self.args, **self.kwargs)
File "/app/./mam.py", line 61, in single
process(m, document)
File "/app/./mam.py", line 154, in process
result = m.put(
File "/app/./mayan.py", line 145, in put
_logger.warning(json.dumps(result.json(), indent=2))
File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/local/lib/python3.8/json/init.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 10 column 1 (char 9)
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/rq/worker.py", line 875, in perform_job
rv = job.perform()
File "/usr/local/lib/python3.8/site-packages/rq/job.py", line 648, in perform
self._result = self._execute()
File "/usr/local/lib/python3.8/site-packages/rq/job.py", line 654, in _execute
return self.func(*self.args, **self.kwargs)
File "/app/./mam.py", line 61, in single
process(m, document)
File "/app/./mam.py", line 154, in process
result = m.put(
File "/app/./mayan.py", line 145, in put
_logger.warning(json.dumps(result.json(), indent=2))
File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/local/lib/python3.8/json/init.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 10 column 1 (char 9)

I believe this is due to the parser/validator on the MayanEDMS side, rather than in MAM.