xybu / onedrived-dev

A Microsoft OneDrive client for Linux, written in Python3.
https://github.com/xybu/onedrived-dev
MIT License
706 stars 78 forks source link

remote changes to file onedrive updates date time but not content #66

Open jamescowens opened 7 years ago

jamescowens commented 7 years ago

I am using the latest version of onedrived and also the latest version of ngrok. When I change a file using another device to onedrive, onedrived detects that, but says it thinks the content is the same but the date/time has changed. Also the webhook seems not to be functioning correctly, even though I think I have set it up correctly.

Here is a relevant snippet from the log...

[2017-09-02 15:48:28,944] INFO: MainThread: Session for account b3d46c9e94730ea3 will expire in 3599 seconds. [2017-09-02 15:48:28,945] INFO: MainThread: Sweeping onedrived temporary files from local repositories. [2017-09-02 15:48:29,969] INFO: MainThread: Local ngrok API url: http://127.0.0.1:4040/api [2017-09-02 15:48:29,979] ERROR: MainThread: Error reading ngrok API: ngrok API did not return any tunnel.. Retry in 1sec. [2017-09-02 15:48:30,985] INFO: Webhook: Local webhook server listening on port 8000. [2017-09-02 15:48:30,985] INFO: MainThread: Scheduled sync task for Drive b3d46c9e94730ea3 of account b3d46c9e94730ea3. [2017-09-02 15:48:30,985] INFO: Webhook: Webhook server listening on https://0a5a2611.ngrok.io/slvEnYh. [2017-09-02 15:48:30,986] INFO: MainThread: Updating webhook for Drive b3d46c9e94730ea3. [2017-09-02 15:48:31,404] ERROR: MainThread: Error: invalidRequest - Error validating notificationUrl. ProtocolError [2017-09-02 15:48:31,407] WARNING: MainThread: Failed to create webhook. Will deep sync again in 21600 sec. [2017-09-02 15:48:31,948] INFO: Worker-1: Remote item "/Documents/Personal (Web)" is neither a file nor a directory. Skip it. [2017-09-02 15:48:32,404] INFO: Worker-0: File "/home/jco/OneDrive/web-site account info.xlsx" seems to have same content but different timestamp (1504378146.598000, 1504381562.443000). Fix it.

jamescowens commented 7 years ago

Here is more detailed debugging output...

Starting onedrived ... OK [2017-09-02 15:55:13,497] DEBUG: MainThread: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:13,752] DEBUG: MainThread: https://api.onedrive.com:443 "GET /v1.0/drives HTTP/1.1" 200 371 [2017-09-02 15:55:13,756] DEBUG: MainThread: Refreshing repository session. [2017-09-02 15:55:13,758] DEBUG: MainThread: Starting new HTTPS connection (1): login.live.com [2017-09-02 15:55:14,780] DEBUG: MainThread: https://login.live.com:443 "POST /oauth20_token.srf HTTP/1.1" 200 1647 [2017-09-02 15:55:14,784] INFO: MainThread: Session for account b3d46c9e94730ea3 will expire in 3599 seconds. [2017-09-02 15:55:14,784] DEBUG: MainThread: Will refresh session in 3479 seconds. [2017-09-02 15:55:14,795] INFO: MainThread: Sweeping onedrived temporary files from local repositories. [2017-09-02 15:55:14,799] DEBUG: Worker-0: Started. [2017-09-02 15:55:14,799] DEBUG: Worker-1: Started. [2017-09-02 15:55:15,813] INFO: MainThread: Local ngrok API url: http://127.0.0.1:4040/api [2017-09-02 15:55:15,818] DEBUG: MainThread: Starting new HTTP connection (1): 127.0.0.1 [2017-09-02 15:55:15,819] DEBUG: MainThread: http://127.0.0.1:4040 "GET /api/tunnels HTTP/1.1" 200 388 [2017-09-02 15:55:15,820] DEBUG: WebhookWorker: Started. [2017-09-02 15:55:15,821] INFO: Webhook: Local webhook server listening on port 8000. [2017-09-02 15:55:15,821] INFO: Webhook: Webhook server listening on https://1cec37a4.ngrok.io/5TAE7Zq. [2017-09-02 15:55:15,827] DEBUG: MainThread: Adding task StartRepositoryTask(drive=b3d46c9e94730ea3)... [2017-09-02 15:55:15,827] INFO: MainThread: Scheduled sync task for Drive b3d46c9e94730ea3 of account b3d46c9e94730ea3. [2017-09-02 15:55:15,827] DEBUG: Worker-0: Got task StartRepositoryTask(drive=b3d46c9e94730ea3). [2017-09-02 15:55:15,827] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive, deep=True, remote_unchanged=False, parent_remote_unchanged=False)... [2017-09-02 15:55:15,827] DEBUG: Worker-0: Got task MergeDirectoryTask(/home/jco/OneDrive, deep=True, remote_unchanged=False, parent_remote_unchanged=False). [2017-09-02 15:55:15,828] DEBUG: Worker-0: Removing watcher for "/home/jco/OneDrive" [2017-09-02 15:55:15,827] INFO: MainThread: Updating webhook for Drive b3d46c9e94730ea3. [2017-09-02 15:55:15,847] DEBUG: MainThread: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:15,894] DEBUG: Worker-0: Starting new HTTPS connection (1): api.onedrive.com

Exception happened during processing of request from ('127.0.0.1', 60192) Traceback (most recent call last): File "/usr/lib64/python3.3/socketserver.py", line 306, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib64/python3.3/socketserver.py", line 332, in process_request self.finish_request(request, client_address) File "/usr/lib64/python3.3/socketserver.py", line 345, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib64/python3.3/socketserver.py", line 666, in init self.handle() File "/usr/lib64/python3.3/http/server.py", line 400, in handle self.handle_one_request() File "/usr/lib64/python3.3/http/server.py", line 388, in handle_one_request method() File "/home/jco/.local/lib/python3.3/site-packages/onedrived-2.0.0-py3.3.egg/onedrived/od_webhook.py", line 129, in do_POST return self.echo(query[self.VALIDATION_REQUEST_QUERY][0]) File "/home/jco/.local/lib/python3.3/site-packages/onedrived-2.0.0-py3.3.egg/onedrived/od_webhook.py", line 112, in echo self.send_response(http.server.HTTPStatus.OK) AttributeError: 'module' object has no attribute 'HTTPStatus'

[2017-09-02 15:55:16,270] DEBUG: MainThread: https://api.onedrive.com:443 "POST /v1.0/drives/b3d46c9e94730ea3/root:/:/subscriptions HTTP/1.1" 400 95 [2017-09-02 15:55:16,270] ERROR: MainThread: Error: invalidRequest - Error validating notificationUrl. ProtocolError [2017-09-02 15:55:16,272] WARNING: MainThread: Failed to create webhook. Will deep sync again in 21600 sec. [2017-09-02 15:55:16,272] WARNING: MainThread: Executing <Handle gen_start_repo_tasks({'b3d46c9e94730ea3': []}) at /home/jco/.local/lib/python3.3/site-packages/onedrived-2.0.0-py3.3.egg/onedrived/od_main.py:129 created at /home/jco/.local/lib/python3.3/site-packages/onedrived-2.0.0-py3.3.egg/onedrived/od_main.py:207> took 0.445 seconds [2017-09-02 15:55:16,308] DEBUG: Worker-0: https://api.onedrive.com:443 "GET /v1.0/drives/b3d46c9e94730ea3/root:/:/children HTTP/1.1" 200 153491 [2017-09-02 15:55:16,479] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Documents, deep=True, remote_unchanged=True, parent_remote_unchanged=False)... [2017-09-02 15:55:16,479] DEBUG: Worker-1: Got task MergeDirectoryTask(/home/jco/OneDrive/Documents, deep=True, remote_unchanged=True, parent_remote_unchanged=False). [2017-09-02 15:55:16,480] DEBUG: Worker-1: Removing watcher for "/home/jco/OneDrive/Documents" [2017-09-02 15:55:16,569] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Email attachments, deep=True, remote_unchanged=True, parent_remote_unchanged=False)... [2017-09-02 15:55:16,587] DEBUG: Worker-1: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:16,709] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/FCRA, deep=True, remote_unchanged=True, parent_remote_unchanged=False)... [2017-09-02 15:55:16,795] DEBUG: Worker-1: https://api.onedrive.com:443 "GET /v1.0/drives/b3d46c9e94730ea3/items/B3D46C9E94730EA3!112/children HTTP/1.1" 200 35486 [2017-09-02 15:55:16,799] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Music, deep=True, remote_unchanged=True, parent_remote_unchanged=False)... [2017-09-02 15:55:16,832] INFO: Worker-1: Remote item "/Documents/Personal (Web)" is neither a file nor a directory. Skip it. [2017-09-02 15:55:16,839] DEBUG: Worker-1: Adding watcher for "/home/jco/OneDrive/Documents" [2017-09-02 15:55:16,840] DEBUG: Worker-1: Got task MergeDirectoryTask(/home/jco/OneDrive/Email attachments, deep=True, remote_unchanged=True, parent_remote_unchanged=False). [2017-09-02 15:55:16,840] DEBUG: Worker-1: Removing watcher for "/home/jco/OneDrive/Email attachments" [2017-09-02 15:55:16,919] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Pictures, deep=True, remote_unchanged=True, parent_remote_unchanged=False)... [2017-09-02 15:55:16,921] DEBUG: Worker-1: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:17,009] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Public, deep=True, remote_unchanged=True, parent_remote_unchanged=False)... [2017-09-02 15:55:17,066] DEBUG: Worker-0: Ignored local file "/.directory". [2017-09-02 15:55:17,066] DEBUG: Worker-0: Adding watcher for "/home/jco/OneDrive" [2017-09-02 15:55:17,066] DEBUG: Worker-0: Got task MergeDirectoryTask(/home/jco/OneDrive/FCRA, deep=True, remote_unchanged=True, parent_remote_unchanged=False). [2017-09-02 15:55:17,067] DEBUG: Worker-0: Removing watcher for "/home/jco/OneDrive/FCRA" [2017-09-02 15:55:17,069] DEBUG: Worker-0: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:17,081] DEBUG: Worker-1: https://api.onedrive.com:443 "GET /v1.0/drives/b3d46c9e94730ea3/items/B3D46C9E94730EA3!1378/children HTTP/1.1" 200 140 [2017-09-02 15:55:17,084] DEBUG: Worker-1: Adding watcher for "/home/jco/OneDrive/Email attachments" [2017-09-02 15:55:17,084] DEBUG: Worker-1: Got task MergeDirectoryTask(/home/jco/OneDrive/Music, deep=True, remote_unchanged=True, parent_remote_unchanged=False). [2017-09-02 15:55:17,085] DEBUG: Worker-1: Removing watcher for "/home/jco/OneDrive/Music" [2017-09-02 15:55:17,086] DEBUG: Worker-1: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:17,379] DEBUG: Worker-0: https://api.onedrive.com:443 "GET /v1.0/drives/b3d46c9e94730ea3/items/B3D46C9E94730EA3!1467/children HTTP/1.1" 200 5550 [2017-09-02 15:55:17,385] DEBUG: Worker-0: Adding watcher for "/home/jco/OneDrive/FCRA" [2017-09-02 15:55:17,386] DEBUG: Worker-0: Got task MergeDirectoryTask(/home/jco/OneDrive/Pictures, deep=True, remote_unchanged=True, parent_remote_unchanged=False). [2017-09-02 15:55:17,386] DEBUG: Worker-0: Removing watcher for "/home/jco/OneDrive/Pictures" [2017-09-02 15:55:17,391] DEBUG: Worker-0: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:17,393] DEBUG: Worker-1: https://api.onedrive.com:443 "GET /v1.0/drives/b3d46c9e94730ea3/items/B3D46C9E94730EA3!299/children HTTP/1.1" 200 139 [2017-09-02 15:55:17,396] DEBUG: Worker-1: Adding watcher for "/home/jco/OneDrive/Music" [2017-09-02 15:55:17,396] DEBUG: Worker-1: Got task MergeDirectoryTask(/home/jco/OneDrive/Public, deep=True, remote_unchanged=True, parent_remote_unchanged=False). [2017-09-02 15:55:17,396] DEBUG: Worker-1: Removing watcher for "/home/jco/OneDrive/Public" [2017-09-02 15:55:17,398] DEBUG: Worker-1: Starting new HTTPS connection (1): api.onedrive.com [2017-09-02 15:55:17,558] DEBUG: Worker-0: https://api.onedrive.com:443 "GET /v1.0/drives/b3d46c9e94730ea3/items/B3D46C9E94730EA3!110/children HTTP/1.1" 200 4426 [2017-09-02 15:55:17,568] DEBUG: Worker-1: https://api.onedrive.com:443 "GET /v1.0/drives/b3d46c9e94730ea3/items/B3D46C9E94730EA3!111/children HTTP/1.1" 200 139 [2017-09-02 15:55:17,570] DEBUG: Worker-1: Adding watcher for "/home/jco/OneDrive/Public" [2017-09-02 15:55:17,679] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Pictures/Camera Roll, deep=True, remote_unchanged=True, parent_remote_unchanged=True)... [2017-09-02 15:55:17,680] DEBUG: Worker-1: Got task MergeDirectoryTask(/home/jco/OneDrive/Pictures/Camera Roll, deep=True, remote_unchanged=True, parent_remote_unchanged=True). [2017-09-02 15:55:17,681] DEBUG: Worker-1: Removing watcher for "/home/jco/OneDrive/Pictures/Camera Roll" [2017-09-02 15:55:18,189] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Pictures/Saved pictures, deep=True, remote_unchanged=True, parent_remote_unchanged=True)... [2017-09-02 15:55:18,190] DEBUG: Worker-1: Adding watcher for "/home/jco/OneDrive/Pictures/Camera Roll" [2017-09-02 15:55:18,190] DEBUG: Worker-1: Got task MergeDirectoryTask(/home/jco/OneDrive/Pictures/Saved pictures, deep=True, remote_unchanged=True, parent_remote_unchanged=True). [2017-09-02 15:55:18,190] DEBUG: Worker-1: Removing watcher for "/home/jco/OneDrive/Pictures/Saved pictures" [2017-09-02 15:55:18,569] DEBUG: Worker-0: Adding task MergeDirectoryTask(/home/jco/OneDrive/Pictures/Screenshots, deep=True, remote_unchanged=True, parent_remote_unchanged=True)... [2017-09-02 15:55:18,570] DEBUG: Worker-0: Adding watcher for "/home/jco/OneDrive/Pictures" [2017-09-02 15:55:18,570] DEBUG: Worker-0: Got task MergeDirectoryTask(/home/jco/OneDrive/Pictures/Screenshots, deep=True, remote_unchanged=True, parent_remote_unchanged=True). [2017-09-02 15:55:18,570] DEBUG: Worker-0: Removing watcher for "/home/jco/OneDrive/Pictures/Screenshots" [2017-09-02 15:55:18,570] DEBUG: Worker-1: Adding watcher for "/home/jco/OneDrive/Pictures/Saved pictures" [2017-09-02 15:55:18,570] DEBUG: Worker-0: Adding watcher for "/home/jco/OneDrive/Pictures/Screenshots"

jamescowens commented 7 years ago

Looks like the http.server package in Python 3.3 doesn't like something from the ondrived package.