Overview
The file size de-duplication interacts with --only-print-filenames and live photos in a surprising way.
If a live photo needs to be deduplicated in this manner, then the video portion of the LP will be downloaded from the server, even though --only-print-filenames was given.
Steps to Reproduce
Using version 1.30.0 on Debian 13 (Trixie) via the downloadable standalone executable.
- Put two live photos into the same album (Live, in my example). They must have different sizes but the same name and date such that they will need deduplication when downloaded. I don't know exactly how this comes about. For me, the live photo is named lp_image which is unusual in itself.
- mkdir -p albums/Live
- Run icloudpd -d albums/Live -a Live to download both of the live photos (2 JPGs and 2 MOVs)
- Delete the Live Photo (both its JPG and MOV) that has a size in the name.
- Run icloudpd --only-print-filenames -a Live -d albums/Live
Expected Behavior
The missing live photo's JPG and MOV filepaths should be printed to standard output, with their deduplicated size-appended names.
Neither file should be downloaded to Live/albums.
Actual Behavior
The JPG file name is printed as expected, but the MOV file name is not.
The MOV file is actually downloaded to the target directory. --only-print-filenames suppresses the logging output, so it will not be obvious this is happening just from watching the command output.
Context
Downloading and then selectively deleting files probably seems a weird thing to do. It's just there to simulate the case where deduplication is needed during the --only-print-filenames pass. Examples might be a partial previous download, or two downloads during the same day that the photos were taken (or received via text), so on.
I ran across this while using --only-print-filenames to generate lists of files to pass to a script. The script itself isn't relevant to this bug, but for the curious, I'm using it to set up my albums as a "tree of symlinks" as discussed in #125 (comment)
As weird as what I'm doing might be, I think it's fairly reasonable that an option called --only-print-filenames would not in fact download any files.
Overview
The file size de-duplication interacts with --only-print-filenames and live photos in a surprising way.
If a live photo needs to be deduplicated in this manner, then the video portion of the LP will be downloaded from the server, even though --only-print-filenames was given.
Steps to Reproduce
Using version 1.30.0 on Debian 13 (Trixie) via the downloadable standalone executable.
Expected Behavior
The missing live photo's JPG and MOV filepaths should be printed to standard output, with their deduplicated size-appended names.
Neither file should be downloaded to Live/albums.
Actual Behavior
The JPG file name is printed as expected, but the MOV file name is not.
The MOV file is actually downloaded to the target directory. --only-print-filenames suppresses the logging output, so it will not be obvious this is happening just from watching the command output.
Context
Downloading and then selectively deleting files probably seems a weird thing to do. It's just there to simulate the case where deduplication is needed during the --only-print-filenames pass. Examples might be a partial previous download, or two downloads during the same day that the photos were taken (or received via text), so on.
I ran across this while using --only-print-filenames to generate lists of files to pass to a script. The script itself isn't relevant to this bug, but for the curious, I'm using it to set up my albums as a "tree of symlinks" as discussed in #125 (comment)
As weird as what I'm doing might be, I think it's fairly reasonable that an option called --only-print-filenames would not in fact download any files.