from flask import Flask, render_template, url_for, request, redirect, Response, abort, session from flask_sqlalchemy import SQLAlchemy from werkzeug.middleware.proxy_fix import ProxyFix from datetime import datetime import magic import random import string app = Flask(__name__) app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1) app.secret_key = 'jf090vmj0r2jr0vwrjwlk3j09520jwn0v0' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///webvars.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) class Webvar(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) namespace = db.Column(db.String(64), nullable=False) project = db.Column(db.String(64), nullable=False) name = db.Column(db.String(64), nullable=False) value = db.Column(db.String(64), nullable=True) @app.route('///', defaults={ "value": None }, methods=['GET']) @app.route('////', methods=['GET']) def index(namespace,project,name,value): db.create_all() vars = Webvar() if value != None: Webvar.query.filter(Webvar.namespace == namespace).filter(Webvar.project == project).filter(Webvar.name == name).delete() vars.namespace = namespace vars.project = project vars.name = name vars.value = value db.session.add(vars) db.session.commit() v = Webvar.query.filter(Webvar.namespace == namespace).filter(Webvar.project == project).filter(Webvar.name == name).first() return v.value, '200', {'Content-Type': 'text/plain; charset=utf-8'} if __name__ == "__main__": app.run(debug=True)