From 3e7fdfb6c8a50c59ac933f701526ad1815dded92 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Tue, 9 Dec 2025 22:16:48 -0600 Subject: refactor codebase. Reorganize file structure. Replace webpack for vite. Setup setuptools for application. Move closer to distributable app --- immich.py | 64 --------------------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 immich.py (limited to 'immich.py') diff --git a/immich.py b/immich.py deleted file mode 100644 index 8c4f3e6..0000000 --- a/immich.py +++ /dev/null @@ -1,64 +0,0 @@ -import requests -from io import BytesIO -from queue import Queue - -from texture import ImageTexture -from manager import PixMan - - -class ImmichConnector: - def __init__(self): - config = PixMan().config - self.server_url = config.immich_url.removesuffix("/") - self.api_key = config.immich_api_key - self.texture_load_queue = Queue() - - def _request(self, endpoint): - if not self.server_url: - return None - return requests.get(f"{self.server_url}/api/{endpoint}", headers={ "x-api-key": self.api_key }) - - def load_all_albums(self): - response = self._request("albums") - if not response or response.status_code != 200: return - - data = response.json() - return data - - def load_album_assets(self, key): - response = self._request(f"albums/{key}") - if not response or response.status_code != 200: return - - data = response.json() - return data["assets"] - - def load_image(self, key, size="preview"): - response = self._request(f"assets/{key}/thumbnail?size={size}") - if not response or response.status_code != 200: return None, None - - image_data = BytesIO(response.content) - mimetype = response.headers.get("Content-Type") - return image_data, mimetype - - def load_image_filename(self, key): - response = self._request(f"assets/{key}") - if not response or response.status_code != 200: return None, None - - data = response.json() - return data["originalFileName"] - - def load_texture_async(self, texture_list, image_texture): - self.texture_load_queue.put((texture_list, image_texture)) - - def idle(self): - size = "preview" # TODO - while True: - texture_list, image_texture = self.texture_load_queue.get() - if not texture_list.index_in_cache_range(image_texture.asset_index) or texture_list.void: - continue # Texture was never loaded so it doesn't need to be free'd - image_data, _ = self.load_image(image_texture.asset_key, size) - image_texture.initialize(image_data) - - def validate_connection(self): - # TODO - return True -- cgit v1.2.3