* Add new file operations mkdir, rename, upload and delete to drive service.
The drive service only supports the bare minimum right now, improve
this situation.
Also support upload of new files to the iCloud Drive.
* Apply suggestions from code review
Co-authored-by: Quentame <polletquentin74@me.com>
* Minor fix, return the right json part when calling mkdir and rename
* Remove more %s indirections...
* Run Black. Again...
Co-authored-by: Quentame <polletquentin74@me.com>
* Initial version of the iCloud drive client
* Pylint & black
* Add tests + some fixes
* Fix pipe
Co-authored-by: Herve Saint-Amand <herve@brainnwave.com>
Two-step authentication is an older security method used for
accounts without an Apple device, or who are unable to upgrade
to iOS 9 or OS X El Capitan.
https://support.apple.com/en-us/HT204152
If the account has two-factor authentication enabled, we can still
fall back to the end-points for two-step authentication, as we do
not support 2FA yet.
Issue #102
When 2FA is enabled in iCloud most iCloud services are unavailable
without first going through the 2FA handshake. We now have API to
initiate the 2FA, which can be used by more advanced API clients.
The built in command line 'icloud' application has not been updated,
as listing and managing devices though Find my iPhone is one of the
services that do not require 2FA.
Fixes issue #66.
Squashed commit of the following:
commit 0eb23aa87c264152716933e03827f040742e6d70
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Feb 20 14:21:48 2016 -0800
Updating readme to reflect updated flow.
commit 840268e2db6093b5cb573c6a3e71204bf5b08b48
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Feb 20 14:18:39 2016 -0800
Dropping python 2.6 support workaround.
commit 9dcbd460482c2925bda490be2be884a2a2526062
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Feb 20 14:18:00 2016 -0800
Adding additional behavior at @torarnv's request.
commit 6c711bb12beea7c792b5d386203373423b6e56e2
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Jan 23 15:08:29 2016 -0800
Workaround for obsolete versions of Python 2.
commit b0765b7b6bf9974348061043da9a110c6bd7d985
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Jan 23 14:56:53 2016 -0800
Style changes to avoid line length overage.
commit 4decc576432ef23edae01b9621f2689b4f3c6c84
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Jan 23 14:01:27 2016 -0800
Adding documentation; also adding --delete-from-keyring command-line option.
commit a6b0224e93a8bc9159cf06ba5792a384f7fbb060
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Jan 23 13:44:09 2016 -0800
Adding functionality allowing authentication using iCloud passwords stored in the system keychain.
Adds the following new command-line options:
* `--password-interactive`: Allows you to specify your password
interactively rather than typing it into the command-line.
* `--store-in-keychain`: Allows you to store the password in use in the
system keychain.
If no password is specified when instantiating `PyiCloudService` or when
using the command-line utility (via either `--password-interactive` or
`--password`), the system keychain will be queried for a stored
password, and an exception will be raised if one was not found.
commit 4ba03fb02d51673dfb7183dde49ab4c0bec4afb3
Author: Adam Coddington <me@adamcoddington.net>
Date: Sat Jan 23 13:43:39 2016 -0800
Removing unused imports.