mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-15 17:41:59 +01:00
fix(fuse,core,gui,cli): resumable, robust Google Photos import (#94)
A Takeout import cut short by a restart could never be resumed: the
duplicate check failed on the draft the interrupted upload left behind
("invalid type: null, expected a string"). SDK 0.12.0 skips such drafts,
lets the import replace them across logins, and removes the draft of a
failed upload (B285, B286).
The import keeps its archives and outcome in the state directory, so a
run the service did not finish is reported as interrupted and can be
resumed from the app or with `pdfs import-google-photos --resume`. An
unreadable archive is left out instead of failing the scan, a failure
keeps its counts and still files albums, and a cancel or shutdown is
only reported when work was left undone (B287).
ImportStatus carries the phase, its progress, the running counts and
what can be resumed; the summary says dry_run, to_upload and
error_kind. The app shows these in the user's language, and --wait
prints progress. An empty gallery waits for a timeline refresh already
running instead of starting a second one.
The scan imports only the Photos service of an export, reads geoData
into the photo's Location, pairs live and motion photos (.MOV, .MP) with
their stills, and dates a photo by name and EXIF before Google's upload
time (B288).
This commit is contained in:
1 parent
2ec3b7ff62
commit
2f2fe96cdf
28 files changed
+5196
-2544
No files matched your search
+17
-2
@@ -55,6 +55,7 @@ server learns which areas you look at.
|
||||
2. In the app, open the **Upload** menu on the Photos page and choose **Import from Google
|
||||
Photos…**. Select all the `.zip` files at once, because a photo and its details are often in
|
||||
different parts of the export.
|
||||
3. Choose **Scan** to see what an import would do without uploading anything, then **Import**.
|
||||
|
||||
From a terminal:
|
||||
|
||||
@@ -63,8 +64,22 @@ pdfs import-google-photos --dry-run ~/Downloads/takeout-*.zip # show what woul
|
||||
pdfs import-google-photos --wait ~/Downloads/takeout-*.zip
|
||||
```
|
||||
|
||||
The import recreates your albums and takes capture dates and locations from the export. Photos
|
||||
already in your library are skipped, so an interrupted import can simply be run again.
|
||||
What the import takes from the export:
|
||||
|
||||
- **Albums** are recreated. A photo that is in several albums is uploaded once and added to each.
|
||||
- **Dates** come from the export's details, else from a date in the file name, else from the
|
||||
photo's EXIF.
|
||||
- **Places** come from the export, so imported photos appear under [Places](#places).
|
||||
- **Favorites** are kept.
|
||||
- **Live photos and motion photos** stay one photo: the video is filed with its still.
|
||||
|
||||
What it leaves out: photos in Google's trash, and files from other Google services (Drive,
|
||||
YouTube) that are in the same export. A `.zip` that cannot be read is left out and named in the
|
||||
report; the rest still imports.
|
||||
|
||||
Photos already in your library are skipped, so an interrupted import can simply be run again.
|
||||
If the import was cut short, for example by a restart, the Import page offers **Resume**, and
|
||||
`pdfs import-google-photos --resume` does the same without naming the archives again.
|
||||
`pdfs import-status` shows how far an import is, and `pdfs cancel-import` stops it.
|
||||
|
||||
## Fixing photos filed under the wrong date
|
||||
|
||||
Reference in new issue
Block a user