curious-greg/web.py

47 lines
1.3 KiB
Python
Raw Normal View History

2018-11-01 14:25:47 +00:00
#!/usr/bin/env python3
#Curious Greg - Curious Cat to Mastodon crossposter
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
2018-11-02 02:35:40 +00:00
import requests, sqlite3, json
2018-11-01 14:25:47 +00:00
from mastodon import Mastodon
2018-11-04 11:36:25 +00:00
from flask import Flask, render_template, request
2018-11-01 14:25:47 +00:00
2018-11-02 02:35:40 +00:00
cfg = json.load(open("meta.json"))
2018-11-01 14:25:47 +00:00
db = sqlite3.connect("database.db")
c = db.cursor()
c.execute("CREATE TABLE IF NOT EXISTS `data` (username VARCHAR NOT NULL, appid VARCHAR NOT NULL, appsecret VARCHAR NOT NULL, secret VARCHAR NOT NULL, latest_post VARCHAR)")
app = Flask(cfg['name'])
2018-11-02 03:13:08 +00:00
app.secret_key = cfg['flask_key']
2018-11-02 03:13:08 +00:00
@app.route('/')
def main():
2018-11-02 07:46:49 +00:00
return render_template("landing_page.html")
@app.route('/internal/auth_a')
def internal_auth_a():
2018-11-04 11:36:25 +00:00
client_id = "abc"
client_secret = "123"
instance_url = request.args.get('url', default='mastodon.social', type=str)
if not instance_url.startswith("https://"):
instance_url = "https://{}".format(instance_url)
2018-11-02 07:52:33 +00:00
# client_id, client_secret = Mastodon.create_app(cfg['name'],
# api_base_url=instance_url,
# scopes="write:statuses",
# website=cfg['website'])
client_info = {
"client_id": client_id,
"client_secret":client_secret,
"scopes":"write:statuses",
"website": cfg['website']
}
return(json.dumps(client_info))