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
Tor Arne Vestbø <torarnv@gmail.com> (3):
Detect TTY when deciding whether to enable interactive mode or not
Handle content-type header with parameters when debugging requests
Gracefully handle malformed cookiejars
LoadError would only be raised if the cookiejar didn't contain the
expected magic header. But a pickeled jar would potentially contain
data that raised a UnicodeDecodeError, so we need account for both.
Bart274 <de_van_bos@msn.com> (1):
Replace manual time zone handling with use of the tzlocal module
Tor Arne Vestbø <torarnv@gmail.com> (5):
Remove leftover debug logging from iCloud Photo service
Remove useless sanity check for sparse photo album assets
Don't assume request response is always JSON
Charge HTTP logging to separate child logger of each service
Don't set host header in reminders service
This solves an issue where we would end up with an empty list of
time zones, throwing an exception as a result.
It also resolves to the user's actual Olson time zone name,
instead of the first of all the possible time zone names that
match the current time zone of the user.
The two helper methods are no longer needed, as we can now use
get_localzone() directly.
It's automatically taken care of by the requests module based on
the URL, and explicitly setting it on the globally shared session
object results in other services (such as the calendar service)
breaking when used after the reminders service in the same session.
Unfortunately log filters only apply to each logger, not to its
children, so we have to make sure the http child loggers has the
same password filter as the root base filter.
If the response's content-type is not one of the two json mimetypes
iCloud will send us we need to return early, not try to parse the
error messsage out of an invalid json object.
For added safety we wrap the JSON decoding in a try/except, so that
malformed JSON data will not result in an exception from that part
of the code (though it will likely still raise at a later point when
the JSON data is parsed in service logic).
Fixes#71