mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-11-21 14:07:59 +00:00
create get_resource method
This commit is contained in:
parent
097a53a539
commit
26c5c05320
|
@ -22,16 +22,10 @@ from .cache import get_cache
|
|||
from .config import Config
|
||||
from .database import get_database
|
||||
from .http_client import HttpClient
|
||||
from .misc import check_open_port
|
||||
from .misc import check_open_port, get_resource
|
||||
from .views import VIEWS
|
||||
from .views.api import handle_api_path
|
||||
|
||||
try:
|
||||
from importlib.resources import files as pkgfiles
|
||||
|
||||
except ImportError:
|
||||
from importlib_resources import files as pkgfiles
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
from tinysql import Database, Row
|
||||
from .cache import Cache
|
||||
|
@ -75,7 +69,7 @@ class Application(web.Application):
|
|||
|
||||
setup_swagger(self,
|
||||
ui_version = 3,
|
||||
swagger_from_file = pkgfiles('relay').joinpath('data', 'swagger.yaml')
|
||||
swagger_from_file = get_resource('data/swagger.yaml')
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -8,12 +8,7 @@ from .connection import RELAY_SOFTWARE, Connection
|
|||
from .schema import TABLES, VERSIONS, migrate_0
|
||||
|
||||
from .. import logger as logging
|
||||
|
||||
try:
|
||||
from importlib.resources import files as pkgfiles
|
||||
|
||||
except ImportError: # pylint: disable=duplicate-code
|
||||
from importlib_resources import files as pkgfiles
|
||||
from ..misc import get_resource
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
from .config import Config
|
||||
|
@ -21,15 +16,15 @@ if typing.TYPE_CHECKING:
|
|||
|
||||
def get_database(config: Config, migrate: bool = True) -> bsql.Database:
|
||||
options = {
|
||||
"connection_class": Connection,
|
||||
"pool_size": 5,
|
||||
"tables": TABLES
|
||||
'connection_class': Connection,
|
||||
'pool_size': 5,
|
||||
'tables': TABLES
|
||||
}
|
||||
|
||||
if config.db_type == "sqlite":
|
||||
if config.db_type == 'sqlite':
|
||||
db = bsql.Database.sqlite(config.sqlite_path, **options)
|
||||
|
||||
elif config.db_type == "postgres":
|
||||
elif config.db_type == 'postgres':
|
||||
db = bsql.Database.postgresql(
|
||||
config.pg_name,
|
||||
config.pg_host,
|
||||
|
@ -39,7 +34,7 @@ def get_database(config: Config, migrate: bool = True) -> bsql.Database:
|
|||
**options
|
||||
)
|
||||
|
||||
db.load_prepared_statements(pkgfiles("relay").joinpath("data", "statements.sql"))
|
||||
db.load_prepared_statements(get_resource('data/statements.sql'))
|
||||
db.connect()
|
||||
|
||||
if not migrate:
|
||||
|
|
|
@ -10,7 +10,14 @@ from aputils.message import Message as ApMessage
|
|||
from datetime import datetime
|
||||
from uuid import uuid4
|
||||
|
||||
try:
|
||||
from importlib.resources import files as pkgfiles
|
||||
|
||||
except ImportError:
|
||||
from importlib_resources import files as pkgfiles
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
from .application import Application
|
||||
|
||||
|
@ -75,6 +82,10 @@ def get_app() -> Application:
|
|||
return Application.DEFAULT
|
||||
|
||||
|
||||
def get_resource(path: str) -> Path:
|
||||
return pkgfiles('relay').joinpath(path)
|
||||
|
||||
|
||||
class JsonEncoder(json.JSONEncoder):
|
||||
def default(self, obj: Any) -> str:
|
||||
if isinstance(obj, datetime):
|
||||
|
|
Loading…
Reference in a new issue