1
0
mirror of https://github.com/aquatix/digimarks.git synced 2025-12-07 00: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
from dateutil import tz
from feedgen.feed import FeedGenerator
from flask import (Flask, abort, jsonify, make_response, redirect,
render_template, request, url_for)
from peewee import * # noqa
#from flask import (Flask, abort, jsonify, make_response, redirect,
# render_template, request, url_for)
from typing import List
try:
# Python 3
from urllib.parse import urljoin, urlparse, urlunparse
except ImportError:
# Python 2
from urlparse import urljoin, urlparse, urlunparse
import databases
import sqlalchemy
from fastapi import FastAPI
from pydantic import BaseModel
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'
themes = {
@@ -164,13 +164,18 @@ DATABASE = {
'name': os.path.join(APP_ROOT, 'bookmarks.db'),
'engine': 'peewee.SqliteDatabase',
}
DATABASE_URL = os.path.join(APP_ROOT, 'bookmarks.db')
#PHANTOM = '/usr/local/bin/phantomjs'
#SCRIPT = os.path.join(APP_ROOT, 'screenshot.js')
# create our flask app and a database wrapper
app = Flask(__name__)
app.config.from_object(__name__)
database = SqliteDatabase(os.path.join(APP_ROOT, 'bookmarks.db'))
#app = Flask(__name__)
#app.config.from_object(__name__)
#database = SqliteDatabase(os.path.join(APP_ROOT, 'bookmarks.db'))
database = databases.Database(DATABASE_URL)
metadata = sqlalchemy.MetaData()
# Strip unnecessary whitespace due to jinja2 codeblocks
app.jinja_env.trim_blocks = True

View File

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

View File

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