Files
local_quantum_simulator/Dockerfile_build/source/connections/local_files.py
DeOwl 96548e60ea v0.1.0
Changes:
- added rabbitmq hearbeat, consumer and publisher
- fixed vqe to run with rabbitmq
- added frontend via fasthtml
- added proper .env configuration
2026-05-14 13:27:33 +03:00

70 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import json
import os
from pathlib import Path
# Локальные файлы для хранения данных
TOKEN_FILE = Path(os.environ["STORAGE_PATH"] + "/token.json")
VERIFIER_FILE = Path(os.environ["STORAGE_PATH"] + "/pkce_verifier.json")
CLIENT_INFO_FILE = Path(os.environ["STORAGE_PATH"] + "/client_info.json")
def save_token(token_data: dict):
"""Сохранить токен в файл"""
with open(TOKEN_FILE, "w") as f:
json.dump(token_data, f, indent=2)
def load_token() -> dict | None:
"""Загрузить токен из файла"""
if not TOKEN_FILE.exists():
return None
with open(TOKEN_FILE, "r") as f:
return json.load(f)
def delete_token():
"""Удалить файл с токеном"""
if TOKEN_FILE.exists():
TOKEN_FILE.unlink()
def save_verifier(verifier: str):
"""Сохранить PKCE верификатор в файл"""
with open(VERIFIER_FILE, "w") as f:
json.dump({"verifier": verifier}, f)
def load_verifier() -> str | None:
"""Загрузить PKCE верификатор из файла"""
if not VERIFIER_FILE.exists():
return None
with open(VERIFIER_FILE, "r") as f:
data = json.load(f)
return data.get("verifier")
def delete_verifier():
"""Удалить файл с PKCE верификатором"""
if VERIFIER_FILE.exists():
VERIFIER_FILE.unlink()
def save_client_info(client_info: dict):
"""Сохранить информацию о клиенте локально"""
with open(CLIENT_INFO_FILE, "w") as f:
json.dump(client_info, f, indent=2)
def load_client_info() -> dict | None:
"""Загрузить информацию о клиенте"""
if not CLIENT_INFO_FILE.exists():
return None
with open(CLIENT_INFO_FILE, "r") as f:
return json.load(f)
def delete_client_info():
"""Удалить файл с информацией о клиенте"""
if CLIENT_INFO_FILE.exists():
CLIENT_INFO_FILE.unlink()