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-02 07:46:49 +00:00
from flask import Flask , render_template
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 ( )
2018-11-01 15:17:02 +00:00
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) " )
2018-11-02 02:59:29 +00:00
app = Flask ( cfg [ ' name ' ] )
2018-11-02 03:13:08 +00:00
app . secret_key = cfg [ ' flask_key ' ]
2018-11-02 02:59:29 +00:00
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 " )
2018-11-02 02:59:29 +00:00
@app.route ( ' /internal/auth_a ' )
def internal_auth_a ( ) :
client_id , client_secret = Mastodon . create_app ( cfg [ ' name ' ] ,
api_base_url = instance_url ,
scopes = " write:statuses " ,
website = " https://git.lynnesbian.space/lynnesbian/curious-greg " )
2018-11-01 14:35:56 +00:00
2018-11-02 02:59:29 +00:00
client = Mastodon ( client_id = client_id ,
client_secret = client_secret ,
api_base_url = instance_url )