-
-
Save tetebueno/5800504133709c9844bcd1779019d390 to your computer and use it in GitHub Desktop.
import re as _re | |
import json as _json | |
JSON_EXTENSION = '.json' | |
def find_json_for_file(file: Path): | |
try: | |
if file.with_name(file.name + JSON_EXTENSION).is_file(): | |
# file.jpg -> file.jpg.json | |
the_json_path = file.with_name(file.name + JSON_EXTENSION) | |
elif file.with_name(file.name.replace(file.suffix, JSON_EXTENSION)).is_file(): | |
# file.jpg -> file.json | |
the_json_path = file.with_name(file.name.replace(file.suffix.lower(), JSON_EXTENSION)) | |
elif len(file.name) >= 47: | |
# fileee...eee.jpg -> fileee...eee..json | |
the_json_path = file.with_name(file.name[0:46] + JSON_EXTENSION) | |
elif bool(_re.search(r'^(.+)(\(\d+\))(\..+)$', file.name)): | |
weird_search = _re.search(r'^(.+)(\(\d+\))(\..+)$', file.name) | |
if file.with_name(weird_search.group(1) + JSON_EXTENSION).is_file(): | |
# file(1).jpg -> file.json | |
the_json_path = file.with_name(weird_search.group(1) + JSON_EXTENSION) | |
else: | |
# file(1).jpg -> file.jpg(1).json | |
the_json_path = file.with_name(weird_search.group(1) + weird_search.group(3) + weird_search.group(2) + JSON_EXTENSION) | |
#print('Using ' + the_json_path.name + ' for ' + file.name) | |
with open(the_json_path, 'r') as f: | |
json_dict = _json.load(f) | |
return json_dict | |
except: | |
raise FileNotFoundError(f'Couldn\'t find json for file: {file}') |
I have no idea how to use this, I have downloaded python so far and tried running the code but idk where to go from there. Can anyone help with a step by step tutorial? I'd be very thankful. Trying to merge all .json and photos together from a Takeout Folder.
@kyro-h did you get that step by step instruction? I'm in the same situation you wear in a year ago. I would really appreciate any help anyone. @tetebueno
@HJ1q I ended up using a different python script. (https://pastebin.com/SkYwF0Jy)
should be something like, nameofprogram "folder to be scanned")
It should rename all your jason files to match the name of the image files.
then i used exiftool (https://exiftool.org/) to apply the jason metadata to the images.
(https://pastebin.com/5Wr7yzkh)
That's all if i remember correctly form a year ago.
Also, do not run this on your only copy of your take out. Make a backup and
try it on a smaller set of images, so you don't waste time on something that
didn't do what you thought it would do.
Please check this:
https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper
ah yes its good but i am not comfortable here. Please provide