houtianze/bypy

升级V1.7.4版本后,上传功能出现JSONDecodeError错误

Closed this issue · 1 comments

### bypy upload 2021112313.mp4 20211123/ 出现错误如下:
Traceback (most recent call last):
File "/home/nick/develop/cloud_test/bin/bypy", line 10, in
sys.exit(main())
File "/home/nick/develop/cloud_test/lib/python3.7/site-packages/bypy/bypy.py", line 3749, in main
result = getattr(by, args.command[0])(*uargs)
File "/home/nick/develop/cloud_test/lib/python3.7/site-packages/bypy/bypy.py", line 1808, in upload
return self.__upload_file(lpath, rpath, ondup)
File "/home/nick/develop/cloud_test/lib/python3.7/site-packages/bypy/bypy.py", line 1755, in __upload_file
result = self.__upload_file_slices(localpath, remotepath, ondup)
File "/home/nick/develop/cloud_test/lib/python3.7/site-packages/bypy/bypy.py", line 1517, in __upload_file_slices
progress = jsonload(const.ProgressPath)
File "/home/nick/develop/cloud_test/lib/python3.7/site-packages/bypy/util.py", line 241, in jsonload
return json.load(f)
File "/usr/lib/python3.7/json/init.py", line 296, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.7/json/init.py", line 348, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.7/json/decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Unterminated string starting at: line 122 column 7 (char 4090)

解决方案: 查找 ~/.bypy/bypy.parts.json,一般是文件上传过程中出现中断,导致json文件写入不完整,直接手工修补bypy.parts.json文件即可。