DropBox 400 v1_retired!
Just ran my usual DropBox sync script in Pythonista and got a 400 v1_retired error!
Anyone got this? It looks like the Drop V1 API has been deprecated for a while and they finally pulled the plug.
Is this going to take a Pythonista release to fix?
There is this option for V2:
Name of Script: Synchronator
Short Description: Syncs files to dropbox
That's great, I'll give it a go.
When I ran Synchronator I got the error "unindent does not match any outer indentation level" which seems comes from line 81 in DropBoxSetup.py. There is an extra space at the beginning of the line.
The Synchronator nows runs for awhile before dying with "Connection aborted: OSError(9, 'bad file descriptor'). If I restart it (several times) it will finally finish.
@ihf, some ideas about reporting bugs:
Always good to search the forum to see if others have fixed things already. For best results, use google with the keyword ”Pythonista” included rather than the forum’s own search. For example, I found this.
Mention the author (@markhamilton1 in this case), so that they get notified even if they have otherwise missed this thread.
Also an option to post the issue in the Github repository, where it will be more permanently tied to the project.
@lhf I just commited the fix for the indent problem to the git hub repo (my bad), though you can easily fix it in Pythonista. Thanks for letting me know however. I need to pay better attention.
You will want to make sure that you have the latest requests and dropbox packages. Both changed recently and during the process of working out all their issues they did cause some.
I use StaSH and pip to install them in Pythonista, and can confirm that they seem to be working properly now.
Please let me know if that helps.
@markhamilton1 Thanks. Since you obviously understand how to use the new API, I wonder if you could get Dropbox Picker to work again?
How do you use staSH and pup to install latest requests and dropbox packages?
Stash is here:
To install updated version of requests type this in stash command line:
pip install requests
And similarly for Dropbox
pip install dropbox
If they claim to already be installed, try:
pip update requests
pip update dropbox
Note you will need to kill Pythonista and restart for it to pick up the updated libraries
It is a good idea to pit the launch_stash.py script in the action (wrench) menu for easy access, as chances are that you are soon pip installing all kinds of packages.
Eg. My wrench menu looks like the below
What (and where) is ShaSh?
@ihf, it’s a typo, same as Stash discussed above.
Ahh, OK. I use Stash all the time...I thought I was missing something :-)
@omz Will dropboxlogin and dropbox be updated for API v2?
I’m managed to install stash and attempted to update requests as per the readme in Synchonator and am now getting the following error, anyone know how I fix this?
/private/var/mobile/Containers/Shared/AppGroup/C0C8A414-409D-4540-878C-0DDC5320C51A/Pythonista3/Documents/site-packages/requests/init.py:80: RequestsDependencyWarning: urllib3 (1.4) or chardet (3.0.4) doesn't match a supported version!
stash: <type 'exceptions.ImportError'>: cannot import name DependencyWarning
Ok so I realised when you pip in pythonista with stash it puts the modules under ‘Modules & Templates/Site-Packages’ which overrides the modules in the ‘Modules & Templates/standard library (x.x)’. I deleted the newly download requests, DropBox Etc from there and I’m back to where I started.
It seems like there is currently some issue with the latest version DropBox and Request packages. Synchronator needs an updated version of these libraries, but currently they are not working.
Does anyone have any other ideas?
OK got this sorted. After rolling back the requests and DropBox updates (latest versions) I installed the specific version that synchronator quoted as the minimum using stash
pip install ‘dropbox==7.2.1‘
Now everything works! Thanks everyone.