2022-01-28 16:22:54 +00:00
|
|
|
import asyncio
|
2022-01-27 12:24:38 +00:00
|
|
|
|
2022-07-20 11:46:20 +01:00
|
|
|
from fastapi import APIRouter
|
2022-08-16 12:19:31 +01:00
|
|
|
from starlette.staticfiles import StaticFiles
|
|
|
|
|
2022-07-11 21:38:05 +01:00
|
|
|
from lnbits.db import Database
|
|
|
|
from lnbits.helpers import template_renderer
|
|
|
|
from lnbits.tasks import catch_everything_and_restart
|
2022-01-28 16:22:54 +00:00
|
|
|
|
2023-01-04 21:08:28 +00:00
|
|
|
db = Database("ext_market")
|
2022-07-20 11:46:20 +01:00
|
|
|
|
2023-01-04 21:08:28 +00:00
|
|
|
market_ext: APIRouter = APIRouter(prefix="/market", tags=["market"])
|
2022-07-20 11:46:20 +01:00
|
|
|
|
2023-01-04 21:08:28 +00:00
|
|
|
market_static_files = [
|
2022-07-20 11:46:20 +01:00
|
|
|
{
|
2023-01-04 21:08:28 +00:00
|
|
|
"path": "/market/static",
|
|
|
|
"app": StaticFiles(directory="lnbits/extensions/market/static"),
|
|
|
|
"name": "market_static",
|
2022-07-20 11:46:20 +01:00
|
|
|
}
|
|
|
|
]
|
|
|
|
|
2022-07-11 21:38:05 +01:00
|
|
|
# if 'nostradmin' not in LNBITS_ADMIN_EXTENSIONS:
|
2023-01-04 21:08:28 +00:00
|
|
|
# @market_ext.get("/", response_class=HTMLResponse)
|
2022-07-11 21:38:05 +01:00
|
|
|
# async def index(request: Request):
|
|
|
|
# return template_renderer().TemplateResponse(
|
|
|
|
# "error.html", {"request": request, "err": "Ask system admin to enable NostrAdmin!"}
|
|
|
|
# )
|
|
|
|
# else:
|
2022-07-20 11:46:20 +01:00
|
|
|
|
2022-08-16 12:19:31 +01:00
|
|
|
|
2023-01-04 21:08:28 +00:00
|
|
|
def market_renderer():
|
|
|
|
return template_renderer(["lnbits/extensions/market/templates"])
|
|
|
|
# return template_renderer(["lnbits/extensions/market/templates"])
|
2022-02-10 13:54:36 +00:00
|
|
|
|
2022-07-12 15:25:25 +01:00
|
|
|
|
2022-07-11 21:38:05 +01:00
|
|
|
from .tasks import wait_for_paid_invoices
|
2023-01-21 19:31:42 +00:00
|
|
|
from .views import * # noqa: F401,F403
|
|
|
|
from .views_api import * # noqa: F401,F403
|
2022-02-10 13:54:36 +00:00
|
|
|
|
|
|
|
|
2023-01-04 21:08:28 +00:00
|
|
|
def market_start():
|
2022-07-11 21:38:05 +01:00
|
|
|
loop = asyncio.get_event_loop()
|
|
|
|
loop.create_task(catch_everything_and_restart(wait_for_paid_invoices))
|