mirror of
https://github.com/aquatix/digimarks.git
synced 2025-12-07 06:05:10 +01:00
First work on refactoring to fastapi
This commit is contained in:
31
digimarks.py
31
digimarks.py
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Core application
|
# Core application
|
||||||
flask
|
fastapi
|
||||||
peewee
|
sqlalchemy
|
||||||
|
|
||||||
# Fetch title etc from links
|
# Fetch title etc from links
|
||||||
bs4
|
bs4
|
||||||
|
|||||||
Reference in New Issue
Block a user