I downloaded all my photos with google takeout.
The folder structure is an absolute mess.
It would be nice to organise them into YYYY/MM folders but I haven’t been able to think of an easy way to do that.
I note that all images seem to have sidecar files ? Like matching json files. I’ve never encountered these before and not really aware of any command line tools that support them. It’s just another challenge as regards writing a script to re-organise files.
Any insights much appreciated.
https://github.com/anderbggo/GooglePhotosMatcher
I did this a couple months ago and it worked great. Just be sure to back things up.
This just embeds the meta data from the side cars right?
It adds the metadata back to the photos instead of storing the json and photo separately
I just reread your post and I don’t think it sorts them into folders.
I’m transitioning to self-hosting via Immich and someone created an importer called immich-go that allows you to bulk upload your takeout files w/ the Google Photos feel (complete w/ previously created albums, tags, etc).
There’s an additional step if you exported via .tar files but it’s pretty straightforward ime.
If I understand you correctly this would only really be helpful if I was using immich, correct ?
Ooh, thanks for the reminder. I gotta take a look through my takeout files.
Check out exif tool. You could also incorporate jq a command line json parser, to extract data from the json file. If you are trying to do higher level sorting/organization, you may consider using a scripting language other than bash/zsh. Guaranteed there is a Python package for reading exif data.
There’s the python image library (and a fork of it called pillow) and exif. There’s probably a bunch of others, too.
As I recall working with EXIF is generally a pain in the butt. In js the best you can hope for is a wrapper around some CLI based thing that I can’t remember the name of right now.