kartaview / upload-scripts

Uploader tools for KartaView
MIT License
59 stars 30 forks source link

Python Uploader crashes very often #102

Closed moenk closed 3 years ago

moenk commented 3 years ago

For whom it may concern:

Starting to upload 1 sequences... Logged in user: moenk. To log out delete D:\Mapillary\openstreetcam/credentials.json 44%|██████████████████████████████████████████████████████████████████████████████████████▏ | 220/498 [04:26<06:40, 1.44s/it]Traceback (most recent call last): File "osc_tools.py", line 212, in <module> main() File "osc_tools.py", line 22, in main args.func(args) File "osc_tools.py", line 119, in upload_command upload_manager.start_upload() File "D:\Mapillary\openstreetcam\osc_uploader.py", line 57, in start_upload success, sequence = future.result() File "C:\Python38\lib\concurrent\futures\_base.py", line 432, in result return self.__get_result() File "C:\Python38\lib\concurrent\futures\_base.py", line 388, in __get_result raise self._exception File "C:\Python38\lib\concurrent\futures\thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "D:\Mapillary\openstreetcam\osc_uploader.py", line 107, in upload self._visual_items_upload_with_operation(sequence, visual_item_upload_operation) File "D:\Mapillary\openstreetcam\osc_uploader.py", line 144, in _visual_items_upload_with_operation uploaded, index = completed_event.result() File "C:\Python38\lib\concurrent\futures\_base.py", line 432, in result return self.__get_result() File "C:\Python38\lib\concurrent\futures\_base.py", line 388, in __get_result raise self._exception File "C:\Python38\lib\concurrent\futures\thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "D:\Mapillary\openstreetcam\osc_uploader.py", line 231, in upload uploaded, _ = api.upload_photo(user.access_token, File "D:\Mapillary\openstreetcam\osc_api_gateway.py", line 430, in upload_photo return OSCApi.__upload_response_success(response, "photo", photo.sequence_index), None File "D:\Mapillary\openstreetcam\osc_api_gateway.py", line 110, in __upload_response_success json_response = response.json() File "C:\Python38\lib\site-packages\requests\models.py", line 900, in json return complexjson.loads(self.text, **kwargs) File "C:\Python38\lib\json\__init__.py", line 357, in loads return _default_decoder.decode(s) File "C:\Python38\lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Python38\lib\json\decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

It would be great if this could not lead to a crash, so when there is a timeout continue with next picture. Also the session should not remain open for ever but closed automatically after some time.

moenk commented 3 years ago

As a quick and dirty fix I commented out lines 107-117 in osc_api_gateway.py so that the upload success function alway returns True, hope this will help.

Strubbl commented 3 years ago

the most recent commits will likely fix this issue

salabogdan commented 3 years ago

This is most likely fixed so i will close it.