Skip to content

--only-print-filenames actually downloads some live photos instead of printing their names #1220

@Jackabomb

Description

@Jackabomb

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.

  1. 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.
  2. mkdir -p albums/Live
  3. Run icloudpd -d albums/Live -a Live to download both of the live photos (2 JPGs and 2 MOVs)
  4. Delete the Live Photo (both its JPG and MOV) that has a size in the name.
  5. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions