/
O.S.Prog
/
InstrumentProtocol
Обзор
Документация
Войти
/
O.S.Prog
/
InstrumentProtocol
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
core/settings_manager.py
101 строка
3 KB
O.S.Prog
Initial commit: InstrumentProtocol v2.0
17 июл 2026, 15:11
17 июл 2026, 15:11
1e845bd
Код
Авторство
О чём код?
import json import os from utils.file_utils import get_config_folder, ensure_folder class SettingsManager: def __init__(self): self.config_folder = get_config_folder() ensure_folder(self.config_folder) self.settings_file = os.path.join(self.config_folder, "settings.json") self.load_settings() def load_settings(self): default_settings = { "hospital_name": "", "doctor_name": "", "hospital_history": [], "doctor_history": [], "auto_squeeze": True, "min_font_size": 10, "ui_zoom": 100, "print_margin": 1.5, "last_backup_path": "", "last_backup_date": "", "pdf_export_folder": "" } if os.path.exists(self.settings_file): try: with open(self.settings_file, 'r', encoding='utf-8') as f: loaded = json.load(f) for key, value in default_settings.items(): if key not in loaded: loaded[key] = value self.settings = loaded except: self.settings = default_settings else: self.settings = default_settings self.save_settings() def save_settings(self): try: with open(self.settings_file, 'w', encoding='utf-8') as f: json.dump(self.settings, f, ensure_ascii=False, indent=4) return True except Exception as e: print(f"[ERROR] Не удалось сохранить настройки: {e}") return False def get(self, key, default=None): return self.settings.get(key, default) def set(self, key, value): self.settings[key] = value def add_to_history(self, key, value): if not value or not value.strip(): return history = self.settings.get(key, []) if value in history: history.remove(value) history.insert(0, value) self.settings[key] = history[:20] def get_history(self, key): return self.settings.get(key, []) def remove_from_history(self, key, value): history = self.settings.get(key, []) if value in history: history.remove(value) self.settings[key] = history self.save_settings() return True return False def add_phrase(self, phrase): if phrase and phrase not in self.settings["common_phrases"]: self.settings["common_phrases"].append(phrase) self.save_settings() return True return False def remove_phrase(self, phrase): if phrase in self.settings["common_phrases"]: self.settings["common_phrases"].remove(phrase) self.save_settings() return True return False def get_last_hospital(self): history = self.get_history("hospital_history") if history: return history[0] return self.get("hospital_name", "") def get_last_doctor(self): history = self.get_history("doctor_history") if history: return history[0] return self.get("doctor_name", "")