Skip to content
This repository has been archived by the owner on Sep 25, 2024. It is now read-only.

Гайд по хранилищам конфигурации

Uladzislau Hramyka edited this page Jan 16, 2023 · 1 revision

Сохранение конфигов для авторизации

По умолчанию клиент использует хранилище NullStore, которое не сохраняет конфиги, но это можно изменить передав клиенту при инициализации в параметре store одно из готовых хранилищ:

  • MemoryStore - сохраняет конфиги в dict переменной
  • JSONStore - сохраняет конфиги в файле .shikithon, в JSON форматe (путь к файлу можно изменить при инициализации хранилища в параметре file_path)
from shikithon import ShikimoriAPI, JSONStore

api = ShikimoriAPI(store=JSONStore())

Все хранилища закрываются при выходе из контекстного менеджера .auth()! Напрмер MemoryStore будет очищен при закрытии, что может стать причиной ошибок в последующих авторизациях. Это поведение можно отключить изменив при инициализации клиента параметр auto_close_store на False.

Создание своего хранилища

Если вам не подходит ни одно из готовых хранилищ, то вы можете реализовать свое хранилище создав класс, который наследует абстрактный класс Store и переопределяет его методы.

# Создаем класс своего хранилища и наследуем Store
class MyStore(Store):
    # Переопределяем методы класса Store
    ...