def index(): if not 'authorized' in session: return redirect(url_for('index')) account = Account.get(email=session["account"]) if request.method == "GET": return render_template('account.html', session=session, account=account, success=None) else: limits = JSON.parse(fs.createReadStream('data/token_limits.json')) admins = JSON.parse(fs.createReadStream('data/admin_accounts.json')) restricted = JSON.parse( fs.createReadStream('data/restricted_accounts.json')) if session['account'] in admins: limit = limits['admin'] elif session['account'] in restricted: limit = limits['restricted'] else: limit = limits['default'] new_token = ''.join([ random.choice(string.ascii_letters + string.digits) for i in range(4) ]) + '.' + ''.join([ random.choice(string.ascii_letters + string.digits) for i in range(20) ]) Account.update(account["_id"], token=new_token, limit=limit) return render_template('account.html', session=session, account=Account.get(_id=account['_id']), success="You generated a new API token!")
def get(self): if not 'Authorization' in request.headers: return abort(401, message="Not authorized") token = request.headers['Authorization'] if not account_handler.Account.get(token=token): return abort(401, message="Invalid authorization") if check_ratelimit(token): return abort( 429, message= "You have exceeded the maximum allowed requests for your account." ) else: add_use(token) words = JSON.parse(fs.createReadStream("storage/words.json")) return random.choice(words)
""" from flask import Flask, render_template, redirect, url_for import humanfriendly from PyJS import JSON from PyJS.modules import fs from core import discordAPI from core.database import Servers from core.routes import route_for app = Flask(__name__) settings = JSON.parse(fs.createReadStream('settings.json')) settings["len"] = len settings["human"] = humanfriendly @app.errorhandler(404) def _404Err(err): return redirect(url_for('index')) @app.route("/") def index(): return render_template('index.html', servers=Servers.get_all(), **settings) @app.route(**route_for('view_server_default'), defaults={"serverID": None})
from cryptography.fernet import Fernet from PyJS.modules import fs security = Fernet(fs.createReadStream("data/key.key").chunk().encode('utf-8')) def encrypt(token): return security.encrypt(token.encode('utf-8')) def decrypt(token): return security.decrypt(token).decode('utf-8')
def index(): examples = {} for example in os.listdir("./data/examples"): examples[example] = fs.createReadStream( f"./data/examples/{example}").chunk() return render_template("index.html", examples=examples, session=session)
def route_for(route): return JSON.parse(fs.createReadStream('data/routes.json'))[route]
from pymongo import MongoClient from PyJS import JSON from PyJS.modules import fs col = MongoClient(JSON.parse( fs.createReadStream('settings.json'))['mongo'])['BytesBump']['servers'] class Servers: def get_all(**checks): return [server for server in col.find(checks)] def get_one(**checks): return col.find_one(checks)
from flask import request from flask_restful import Resource, abort import random, requests, json from PyJS import JSON from PyJS.modules import fs from handlers import account_handler, reddit_handler, genius_handler reddit_config = JSON.parse(fs.createReadStream("data/reddit_config.json")) reddit_client = reddit_handler.RedditHandler(**reddit_config) def fetch(fp, text=True): with open(f"storage/{fp}", "r") as f: return json.load(f) if not text else f.read() def check_ratelimit(token): account = account_handler.Account.get(token=token) if not account["limit"]: return False if not "uses" in account: account_handler.accounts.update_one({"token": token}, {"$set": { "uses": 0 }}) return False
from pymongo import MongoClient from PyJS import JSON from PyJS.modules import fs client = MongoClient( JSON.parse(fs.createReadStream('data/config.json'))['mongo'])["database"] def get_col(col_name): return client[col_name]
import lyricsgenius from flask_restful import abort from PyJS import JSON from PyJS.modules import fs genius = lyricsgenius.Genius( JSON.parse(fs.createReadStream("data/config.json"))["genius"]) def get(name, author): song = genius.search_song(name, author if author else "") if not song: return abort(400, message="Song not found!") return {"title": song.title, "artist": song.artist, "lyrics": song.lyrics}
def route(query): return JSON.parse(fs.createReadStream('data/routes.json'))[query]