import json
from dotenv import load_dotenv
from datetime import datetime
from pprint import pprint
import requests
import os
load_dotenv()
IMMICH_URI = os.getenv("IMMICH_URI")
IMMICH_API_KEY = os.getenv("IMMICH_API_KEY")
UPLOAD_FOLDER = os.getenv("UPLOAD_FOLDER")
headers = {
'Accept': 'application/json',
'x-api-key': IMMICH_API_KEY
}
listImages = []
def upload_image(file):
stats = os.stat(file)
data = {
'deviceAssetId': f'{file}-{stats.st_mtime}',
'deviceId': 'script',
'fileCreatedAt': datetime.fromtimestamp(stats.st_mtime),
'fileModifiedAt': datetime.fromtimestamp(stats.st_mtime),
'isFavorite': 'false'
}
files = {
'assetData': open(file, 'rb')
}
response = requests.post(f'{IMMICH_URI}/api/asset/upload', headers=headers, data=data, files=files)
return response.json()
def check_album(title):
response = requests.get(f'{IMMICH_URI}/api/album', headers=headers)
for album in response.json():
if album['albumName'] == title:
return album['albumName'] == title, album['id']
return 'Not found'