1
0
mirror of https://github.com/aquatix/digimarks.git synced 2025-12-07 07:15:10 +01:00

First work on refactoring to fastapi

This commit is contained in:
2022-08-04 13:27:38 +02:00
parent 3092f83c8b
commit 0b49186559
3 changed files with 40 additions and 31 deletions

View File

@@ -12,19 +12,19 @@ import bs4
import requests import requests
from dateutil import tz from dateutil import tz
from feedgen.feed import FeedGenerator from feedgen.feed import FeedGenerator
from flask import (Flask, abort, jsonify, make_response, redirect, #from flask import (Flask, abort, jsonify, make_response, redirect,
render_template, request, url_for) # render_template, request, url_for)
from peewee import * # noqa from typing import List
try: import databases
# Python 3 import sqlalchemy
from urllib.parse import urljoin, urlparse, urlunparse from fastapi import FastAPI
except ImportError: from pydantic import BaseModel
# Python 2
from urlparse import urljoin, urlparse, urlunparse from urlparse import urljoin, urlparse, urlunparse
DIGIMARKS_USER_AGENT = 'digimarks/1.2.0-dev' DIGIMARKS_USER_AGENT = 'digimarks/2.0.0-dev'
DEFAULT_THEME = 'freshgreen' DEFAULT_THEME = 'freshgreen'
themes = { themes = {
@@ -164,13 +164,18 @@ DATABASE = {
'name': os.path.join(APP_ROOT, 'bookmarks.db'), 'name': os.path.join(APP_ROOT, 'bookmarks.db'),
'engine': 'peewee.SqliteDatabase', 'engine': 'peewee.SqliteDatabase',
} }
DATABASE_URL = os.path.join(APP_ROOT, 'bookmarks.db')
#PHANTOM = '/usr/local/bin/phantomjs' #PHANTOM = '/usr/local/bin/phantomjs'
#SCRIPT = os.path.join(APP_ROOT, 'screenshot.js') #SCRIPT = os.path.join(APP_ROOT, 'screenshot.js')
# create our flask app and a database wrapper # create our flask app and a database wrapper
app = Flask(__name__) #app = Flask(__name__)
app.config.from_object(__name__) #app.config.from_object(__name__)
database = SqliteDatabase(os.path.join(APP_ROOT, 'bookmarks.db')) #database = SqliteDatabase(os.path.join(APP_ROOT, 'bookmarks.db'))
database = databases.Database(DATABASE_URL)
metadata = sqlalchemy.MetaData()
# Strip unnecessary whitespace due to jinja2 codeblocks # Strip unnecessary whitespace due to jinja2 codeblocks
app.jinja_env.trim_blocks = True app.jinja_env.trim_blocks = True

View File

@@ -4,6 +4,8 @@
# #
# pip-compile requirements-dev.in # pip-compile requirements-dev.in
# #
anyio==3.6.1
# via starlette
astroid==2.11.7 astroid==2.11.7
# via pylint # via pylint
beautifulsoup4==4.11.1 beautifulsoup4==4.11.1
@@ -14,34 +16,30 @@ certifi==2022.6.15
# via requests # via requests
charset-normalizer==2.1.0 charset-normalizer==2.1.0
# via requests # via requests
click==8.1.3
# via flask
dill==0.3.5.1 dill==0.3.5.1
# via pylint # via pylint
fastapi==0.79.0
# via -r requirements.in
feedgen==0.9.0 feedgen==0.9.0
# via -r requirements.in # via -r requirements.in
flask==2.1.3 greenlet==1.1.2
# via -r requirements.in # via sqlalchemy
idna==3.3 idna==3.3
# via requests # via
# anyio
# requests
isort==5.10.1 isort==5.10.1
# via pylint # via pylint
itsdangerous==2.1.2
# via flask
jinja2==3.1.2
# via flask
lazy-object-proxy==1.7.1 lazy-object-proxy==1.7.1
# via astroid # via astroid
lxml==4.9.1 lxml==4.9.1
# via feedgen # via feedgen
markupsafe==2.1.1
# via jinja2
mccabe==0.7.0 mccabe==0.7.0
# via pylint # via pylint
peewee==3.15.1
# via -r requirements.in
platformdirs==2.5.2 platformdirs==2.5.2
# via pylint # via pylint
pydantic==1.9.1
# via fastapi
pylint==2.14.5 pylint==2.14.5
# via -r requirements-dev.in # via -r requirements-dev.in
python-dateutil==2.8.2 python-dateutil==2.8.2
@@ -50,16 +48,22 @@ requests==2.28.1
# via -r requirements.in # via -r requirements.in
six==1.16.0 six==1.16.0
# via python-dateutil # via python-dateutil
sniffio==1.2.0
# via anyio
soupsieve==2.3.2.post1 soupsieve==2.3.2.post1
# via beautifulsoup4 # via beautifulsoup4
sqlalchemy==1.4.39
# via -r requirements.in
starlette==0.19.1
# via fastapi
tomli==2.0.1 tomli==2.0.1
# via pylint # via pylint
tomlkit==0.11.1 tomlkit==0.11.1
# via pylint # via pylint
urllib3==1.26.10 typing-extensions==4.3.0
# via pydantic
urllib3==1.26.11
# via requests # via requests
werkzeug==2.1.2
# via flask
wrapt==1.14.1 wrapt==1.14.1
# via astroid # via astroid

View File

@@ -1,6 +1,6 @@
# Core application # Core application
flask fastapi
peewee sqlalchemy
# Fetch title etc from links # Fetch title etc from links
bs4 bs4