mandarons / icloudpy

iCloud web service interface library in Python
Other
195 stars 20 forks source link

[BUG] Can not sync special `Favorites` folder #31

Closed luqasn closed 1 year ago

luqasn commented 1 year ago

Describe the bug I set up icloud-drive-docker to sync my Favorites to my disk, but it sees no photos in there even though there should be 4000 of them. It downloads exactly 0 photos.

To Reproduce Steps to reproduce the behavior:

  1. Use the referenced config for icloud-drive-docker to sync Favorites

Expected behavior Favorites folder with 4k photos is synced.

Screenshots If applicable, add screenshots to help explain your problem.

Configuration

photos:
  destination: "photos"
  remove_obsolete: false
  sync_interval: 500
  filters: # Optional, use it only if you want to download specific albums. Else, all photos are downloaded to `all` folder.
    albums:
      - Favorites
    file_sizes: # valid values are original, medium and/or thumb
      - "original"
    extensions: #Optional, media extensions to be included in syncing iCloud Photos content
      # - jpg
      # - heic
      # - png

Additional context I debugged this a bit and it seems that there is a special loop in photos.py that inserts the special folders. But for some reason, icloudpy also sees a Favorites folder in the later loop for "regular" albums, so the special album reference gets overridden. I patched my local photos.py to give precedence to special folders by looping over them last and that fixes the issue for me.

Please not that if I log in to icloud.com, I do not see a Favorites folder other than the built-in one. I have no idea why it is seen as a regular folder.