picklepete / pyicloud

A Python + iCloud wrapper to access iPhone and Calendar data.
MIT License
2.48k stars 436 forks source link

Downloading photos downloads version with editions undone #323

Open WhyNotHugo opened 3 years ago

WhyNotHugo commented 3 years ago

The problem

On iOS:

  1. Take a screenshot.
  2. Annotate it (e.g.: cribble on it with your finger).
  3. Let it sync to iCloud.

On the desktop:

  1. Fetch the photo via ~iCloud~ pyicloud

Expected result

I'd expect the same image I see on my phone or on other iCloud devices

Actual result

The image I get doesn't have the annotation I did.

Other notes

The same things happen if I save a photo to my phone, and then crop it. The one fetch via pyicloud is the uncropped version, but everywhere else on iCloud I see the cropped version.

This is also an issue with month-old photos, so it's not a lag-in-eventual-consistency issue.

I suspect that resOriginal means "original unedited image", wheras one usually want the "latest edited original", to so call it.

Environment

$ pip show pyicloud
Name: pyicloud
Version: 0.10.2
Summary: PyiCloud is a module which allows pythonistas to interact with iCloud webservices.
Home-page: https://github.com/picklepete/pyicloud
Author: None
Author-email: None
License: MIT
Location: /home/hugo/.cache/virtualenvs/photos/lib/python3.9/site-packages
Requires: keyrings.alt, tzlocal, pytz, click, future, keyring, six, certifi, requests
Required-by:
$ python -V
Python 3.9.1
$ uname -srmo
Linux 5.10.16-arch1-1 x86_64 GNU/Linux 
jcass77 commented 2 years ago

347 should fix this, please try it out.