rename lib to libforget
This commit is contained in:
parent
89e35786d0
commit
c135dc793e
13
app.py
13
app.py
|
@ -4,13 +4,13 @@ from sqlalchemy import MetaData, event
|
|||
from sqlalchemy.engine import Engine
|
||||
from flask_migrate import Migrate
|
||||
import version
|
||||
from lib.cachebust import cachebust
|
||||
from libforget.cachebust import cachebust
|
||||
from flask_limiter import Limiter
|
||||
from lib.auth import get_viewer
|
||||
from libforget.auth import get_viewer
|
||||
import os
|
||||
import mimetypes
|
||||
import lib.brotli
|
||||
import lib.img_proxy
|
||||
import libforget.brotli
|
||||
import libforget.img_proxy
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
@ -113,6 +113,7 @@ def install_security_headers(resp):
|
|||
|
||||
mimetypes.add_type('image/webp', '.webp')
|
||||
|
||||
lib.brotli.brotli(app)
|
||||
libforget.brotli.brotli(app)
|
||||
|
||||
imgproxy = lib.img_proxy.ImgProxyCache(redis_uri=app.config.get('REDIS_URI'))
|
||||
imgproxy = (
|
||||
libforget.img_proxy.ImgProxyCache(redis_uri=app.config.get('REDIS_URI')))
|
||||
|
|
|
@ -6,7 +6,7 @@ from requests import head
|
|||
from app import db, sentry
|
||||
from math import inf
|
||||
import iso8601
|
||||
from lib.exceptions import TemporaryError
|
||||
from libforget.exceptions import TemporaryError
|
||||
|
||||
|
||||
def get_or_create_app(instance_url, callback, website):
|
|
@ -7,7 +7,7 @@ from datetime import datetime
|
|||
import locale
|
||||
from zipfile import ZipFile
|
||||
from io import BytesIO
|
||||
from lib.exceptions import PermanentError, TemporaryError
|
||||
from libforget.exceptions import PermanentError, TemporaryError
|
||||
from urllib.error import URLError
|
||||
|
||||
|
2
model.py
2
model.py
|
@ -2,7 +2,7 @@ from datetime import timedelta, datetime, timezone
|
|||
|
||||
from app import db
|
||||
import secrets
|
||||
from lib.interval import decompose_interval
|
||||
from libforget.interval import decompose_interval
|
||||
|
||||
|
||||
class TimestampMixin(object):
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
from flask import render_template, url_for, redirect, request, g,\
|
||||
make_response
|
||||
from datetime import datetime, timedelta, timezone
|
||||
import lib.twitter
|
||||
import lib.mastodon
|
||||
from lib.auth import require_auth, csrf,\
|
||||
import libforget.twitter
|
||||
import libforget.mastodon
|
||||
from libforget.auth import require_auth, csrf,\
|
||||
get_viewer
|
||||
from model import Session, TwitterArchive, MastodonApp, MastodonInstance
|
||||
from app import app, db, sentry, limiter, imgproxy
|
||||
|
@ -11,9 +11,9 @@ import tasks
|
|||
from zipfile import BadZipFile
|
||||
from twitter import TwitterError
|
||||
from urllib.error import URLError
|
||||
import lib.version
|
||||
import lib.settings
|
||||
import lib.json
|
||||
import libforget.version
|
||||
import libforget.settings
|
||||
import libforget.json
|
||||
import re
|
||||
|
||||
|
||||
|
@ -23,10 +23,10 @@ def index():
|
|||
if viewer:
|
||||
return render_template(
|
||||
'logged_in.html',
|
||||
scales=lib.interval.SCALES,
|
||||
scales=libforget.interval.SCALES,
|
||||
tweet_archive_failed='tweet_archive_failed' in request.args,
|
||||
settings_error='settings_error' in request.args,
|
||||
viewer_json=lib.json.account(viewer),
|
||||
viewer_json=libforget.json.account(viewer),
|
||||
)
|
||||
else:
|
||||
return redirect(url_for('about'))
|
||||
|
@ -50,7 +50,7 @@ def about():
|
|||
@limiter.limit('10/minute')
|
||||
def twitter_login_step1():
|
||||
try:
|
||||
return redirect(lib.twitter.get_login_url(
|
||||
return redirect(libforget.twitter.get_login_url(
|
||||
callback=url_for('twitter_login_step2', _external=True),
|
||||
**app.config.get_namespace("TWITTER_")
|
||||
))
|
||||
|
@ -80,7 +80,7 @@ def twitter_login_step2():
|
|||
try:
|
||||
oauth_token = request.args['oauth_token']
|
||||
oauth_verifier = request.args['oauth_verifier']
|
||||
token = lib.twitter.receive_verifier(
|
||||
token = libforget.twitter.receive_verifier(
|
||||
oauth_token, oauth_verifier,
|
||||
**app.config.get_namespace("TWITTER_"))
|
||||
|
||||
|
@ -110,7 +110,7 @@ def upload_tweet_archive():
|
|||
db.session.commit()
|
||||
|
||||
try:
|
||||
files = lib.twitter.chunk_twitter_archive(ta.id)
|
||||
files = libforget.twitter.chunk_twitter_archive(ta.id)
|
||||
|
||||
ta.chunks = len(files)
|
||||
db.session.commit()
|
||||
|
@ -136,7 +136,7 @@ def upload_tweet_archive():
|
|||
def settings():
|
||||
viewer = get_viewer()
|
||||
try:
|
||||
for attr in lib.settings.attrs:
|
||||
for attr in libforget.settings.attrs:
|
||||
if attr in request.form:
|
||||
setattr(viewer, attr, request.form[attr])
|
||||
db.session.commit()
|
||||
|
@ -235,7 +235,7 @@ def mastodon_login_step1(instance=None):
|
|||
instance_url=instance_url, _external=True)
|
||||
|
||||
try:
|
||||
app = lib.mastodon.get_or_create_app(
|
||||
app = libforget.mastodon.get_or_create_app(
|
||||
instance_url,
|
||||
callback,
|
||||
url_for('index', _external=True))
|
||||
|
@ -243,7 +243,7 @@ def mastodon_login_step1(instance=None):
|
|||
|
||||
db.session.commit()
|
||||
|
||||
return redirect(lib.mastodon.login_url(app, callback))
|
||||
return redirect(libforget.mastodon.login_url(app, callback))
|
||||
|
||||
except Exception:
|
||||
if sentry:
|
||||
|
@ -261,7 +261,7 @@ def mastodon_login_step2(instance_url):
|
|||
callback = url_for('mastodon_login_step2',
|
||||
instance_url=instance_url, _external=True)
|
||||
|
||||
token = lib.mastodon.receive_code(code, app, callback)
|
||||
token = libforget.mastodon.receive_code(code, app, callback)
|
||||
account = token.account
|
||||
|
||||
session = login(account.id)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
from app import app, db
|
||||
from lib.auth import require_auth_api, get_viewer
|
||||
from libforget.auth import require_auth_api, get_viewer
|
||||
from flask import jsonify, redirect, make_response, request
|
||||
from model import Account
|
||||
import lib.settings
|
||||
import lib.json
|
||||
import libforget.settings
|
||||
import libforget.json
|
||||
|
||||
|
||||
@app.route('/api/settings', methods=('PUT',))
|
||||
|
@ -12,7 +12,7 @@ def api_settings_put():
|
|||
viewer = get_viewer()
|
||||
data = request.json
|
||||
updated = dict()
|
||||
for key in lib.settings.attrs:
|
||||
for key in libforget.settings.attrs:
|
||||
if key in data:
|
||||
setattr(viewer, key, data[key])
|
||||
updated[key] = data[key]
|
||||
|
@ -24,7 +24,7 @@ def api_settings_put():
|
|||
@require_auth_api
|
||||
def api_viewer():
|
||||
viewer = get_viewer()
|
||||
resp = make_response(lib.json.account(viewer))
|
||||
resp = make_response(libforget.json.account(viewer))
|
||||
resp.headers.set('content-type', 'application/json')
|
||||
return resp
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
from app import app, db, sentry
|
||||
from flask import g, render_template, make_response, redirect
|
||||
import version
|
||||
import lib.version
|
||||
from lib.auth import get_viewer_session, set_session_cookie
|
||||
import libforget.version
|
||||
from libforget.auth import get_viewer_session, set_session_cookie
|
||||
|
||||
|
||||
@app.before_request
|
||||
|
@ -20,7 +20,7 @@ def load_viewer():
|
|||
def inject_version():
|
||||
return dict(
|
||||
version=version.version,
|
||||
repo_url=lib.version.url_for_version(version.version),
|
||||
repo_url=libforget.version.url_for_version(version.version),
|
||||
)
|
||||
|
||||
|
||||
|
|
20
tasks.py
20
tasks.py
|
@ -3,8 +3,8 @@ from app import app as flaskapp
|
|||
from app import db
|
||||
from model import Session, Account, TwitterArchive, Post, OAuthToken,\
|
||||
MastodonInstance
|
||||
import lib.twitter
|
||||
import lib.mastodon
|
||||
import libforget.twitter
|
||||
import libforget.mastodon
|
||||
from datetime import timedelta, datetime, timezone
|
||||
from zipfile import ZipFile
|
||||
from io import BytesIO, TextIOWrapper
|
||||
|
@ -12,7 +12,7 @@ import json
|
|||
from kombu import Queue
|
||||
import random
|
||||
import version
|
||||
from lib.exceptions import PermanentError, TemporaryError
|
||||
from libforget.exceptions import PermanentError, TemporaryError
|
||||
import redis
|
||||
from functools import wraps
|
||||
import pickle
|
||||
|
@ -92,9 +92,9 @@ def fetch_acc(id_, cursor=None):
|
|||
try:
|
||||
action = noop
|
||||
if(acc.service == 'twitter'):
|
||||
action = lib.twitter.fetch_acc
|
||||
action = libforget.twitter.fetch_acc
|
||||
elif(acc.service == 'mastodon'):
|
||||
action = lib.mastodon.fetch_acc
|
||||
action = libforget.mastodon.fetch_acc
|
||||
cursor = action(acc, cursor)
|
||||
if cursor:
|
||||
fetch_acc.si(id_, cursor).apply_async()
|
||||
|
@ -124,7 +124,7 @@ def import_twitter_archive_month(archive_id, month_path):
|
|||
tweets = json.load(f)
|
||||
|
||||
for tweet in tweets:
|
||||
post = lib.twitter.post_from_api_tweet_object(tweet)
|
||||
post = libforget.twitter.post_from_api_tweet_object(tweet)
|
||||
existing_post = db.session.query(Post).get(post.id)
|
||||
|
||||
if post.author_id != ta.account_id or\
|
||||
|
@ -166,7 +166,7 @@ def delete_from_account(account_id):
|
|||
|
||||
action = noop
|
||||
if account.service == 'twitter':
|
||||
action = lib.twitter.delete
|
||||
action = libforget.twitter.delete
|
||||
posts = refresh_posts(posts)
|
||||
if posts:
|
||||
eligible = list(( # nosec
|
||||
|
@ -177,7 +177,7 @@ def delete_from_account(account_id):
|
|||
if eligible:
|
||||
to_delete = random.choice(eligible)
|
||||
elif account.service == 'mastodon':
|
||||
action = lib.mastodon.delete
|
||||
action = libforget.mastodon.delete
|
||||
for post in posts:
|
||||
refreshed = refresh_posts((post,))
|
||||
if refreshed and \
|
||||
|
@ -203,9 +203,9 @@ def refresh_posts(posts):
|
|||
return []
|
||||
|
||||
if posts[0].service == 'twitter':
|
||||
return lib.twitter.refresh_posts(posts)
|
||||
return libforget.twitter.refresh_posts(posts)
|
||||
elif posts[0].service == 'mastodon':
|
||||
return lib.mastodon.refresh_posts(posts)
|
||||
return libforget.mastodon.refresh_posts(posts)
|
||||
|
||||
|
||||
@app.task()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import pytest
|
||||
import lib.brotli
|
||||
import libforget.brotli
|
||||
|
||||
|
||||
BEE_SCRIPT = bytes("According to all known laws of aviation,", 'UTF-8')
|
||||
|
@ -22,7 +22,7 @@ def app(redisdb):
|
|||
|
||||
@pytest.fixture
|
||||
def br_app(app):
|
||||
lib.brotli.brotli(app, timeout=TIMEOUT_TARGET)
|
||||
libforget.brotli.brotli(app, timeout=TIMEOUT_TARGET)
|
||||
return app
|
||||
|
||||
|
||||
|
@ -92,7 +92,7 @@ def test_brotli_dynamic_cache(br_client):
|
|||
def test_brotli_dynamic_timeout(app):
|
||||
from secrets import token_urlsafe
|
||||
|
||||
lib.brotli.brotli(app, timeout=0.01)
|
||||
libforget.brotli.brotli(app, timeout=0.01)
|
||||
|
||||
@app.route('/hard_to_compress')
|
||||
def hard_to_compress():
|
||||
|
@ -111,7 +111,7 @@ def test_brotli_dynamic_timeout(app):
|
|||
def test_brotli_dynamic_expire(app):
|
||||
from time import sleep
|
||||
|
||||
lib.brotli.brotli(app, expire=0.1)
|
||||
libforget.brotli.brotli(app, expire=0.1)
|
||||
|
||||
client = app.test_client()
|
||||
client.get(
|
||||
|
|
Loading…
Reference in New Issue