ArchiveBox/archivebox/pkgs/abx-plugin-readwise/abx_plugin_readwise.py
Nick Sweeting c8e186f21b
Some checks failed
Run linters / lint (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Build Debian package / build (push) Has been cancelled
Build Docker image / buildx (push) Has been cancelled
Deploy static content to Pages / deploy (push) Has been cancelled
Build Homebrew package / build (push) Has been cancelled
Build GitHub Pages website / build (push) Has been cancelled
Build Pip package / build (push) Has been cancelled
Run tests / python_tests (ubuntu-22.04, 3.11) (push) Has been cancelled
Run tests / docker_tests (push) Has been cancelled
Build GitHub Pages website / deploy (push) Has been cancelled
fix plugin loading order, admin, abx-pkg
2024-11-16 06:44:12 -08:00

35 lines
951 B
Python

__package__ = 'abx_plugin_readwise_extractor'
__id__ = 'abx_plugin_readwise_extractor'
__label__ = 'Readwise API'
__version__ = '2024.10.27'
__author__ = 'ArchiveBox'
__homepage__ = 'https://github.com/ArchiveBox/ArchiveBox/tree/dev/archivebox/pkgs/abx-plugin-readwise-extractor'
__dependencies__ = []
import abx
from typing import Dict
from pathlib import Path
from pydantic import Field
from abx_spec_config.base_configset import BaseConfigSet
SOURCES_DIR = abx.pm.hook.get_CONFIG().SOURCES_DIR
class ReadwiseConfig(BaseConfigSet):
READWISE_DB_PATH: Path = Field(default=SOURCES_DIR / "readwise_reader_api.db")
READWISE_READER_TOKENS: Dict[str, str] = Field(default=lambda: {}) # {<username>: <access_token>, ...}
@abx.hookimpl
def get_CONFIG():
return {
__id__: ReadwiseConfig()
}
@abx.hookimpl
def ready():
READWISE_CONFIG = abx.pm.hook.get_CONFIG()[__id__]
READWISE_CONFIG.validate()