from routes.configuration import conf_app from routes.properties import properties_app from routes.api import api_app from commons.config import Config from commons.flask_lsm_auth import LSM import logging import sys import io import time import StringIO import time from ship.logger import ShipLogger from commons.log_emitter import LogEmitter config = Config() webserver_config = config.get('webserver') app = flask.Flask("shipui") app.config['SECRET_KEY'] = webserver_config.get('websockets_secret_key') socketio = SocketIO(app) app.register_blueprint(api_app, url_prefix='/api') app.register_blueprint(deploy_app, url_prefix='/deploy') app.register_blueprint(conf_app, url_prefix='/conf') app.register_blueprint(properties_app, url_prefix='/properties') @app.route("/", methods=["GET"]) def index(): return flask.redirect("/deploy") @app.route("/logout", methods=["GET"])
import sys import re import os from commons.config import Config from commons.validations import Validations from commons.database import Database from commons.dns import DNS def error(message): print message sys.exit(-1) if __name__ == "__main__": config = Config() dns = DNS(config.get("domain").get("dns")) db = Database(config.get("database")) validations = Validations(db, config.get("domain")) parser = argparse.ArgumentParser(description="Manage RED redirections with command-line utility") parser.add_argument("action", choices=['add', 'del', 'list', 'check'], help="Action") parser.add_argument("domain", help="Domain name", nargs='?') parser.add_argument("url", nargs='?', help="Destination URL") args = parser.parse_args() domain = args.domain action = args.action if action == 'list': for red in db.get_redirections(): print "%(date_added)s %(domain)s -> %(url)s" % red
import flask from commons.apps_configuration import AppsConfiguration from commons.config import Config conf_app = flask.Blueprint("conf_app", __name__, template_folder="../templates") config = Config() deploy_config = config.get("deploy") @conf_app.route("/") def page_apps(): apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url")) conf = apps_conf.get() return flask.render_template("configuration.html", section="conf", conf=conf, user=flask.g.get("user")) @conf_app.route("/<app>", methods=["GET"]) def app_config(app): apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url")) return apps_conf.serialize_app(app) @conf_app.route("/<app>", methods=["PUT"]) def app_config_save(app): props = flask.request.form.get("props") apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url")) apps_conf.save_app(app, props) return props
import flask from commons.sqlite import Database from commons.nginx import NGINX from commons.config import Config from commons.validations import Validations from commons.dns import DNS from commons.oracle import OracleDatabase config = Config() api_app = flask.Blueprint("api_app", __name__, template_folder="../templates") db = Database(config.get("database")) nginx = NGINX(db, config.get("nginx")) validations = Validations(db, config.get("domain")) oracle_conn = config.get("domain").get("db_conn") dns = DNS(config.get("domain"), OracleDatabase(oracle_conn)) @api_app.route("/api/red/local_domain", methods=["GET"]) def local_domain(): return flask.jsonify({"domain": config.get("domain").get("name", "")}) @api_app.route("/api/red", methods=["GET"]) def index(): return flask.jsonify({"rows": db.get_redirections()}) @api_app.route("/api/red", methods=["POST"]) def add(): domain = flask.request.json["domain"].lower().strip() url = flask.request.json["url"].strip()
import flask from commons.apps_configuration import AppsConfiguration from commons.config import Config api_app = flask.Blueprint('api_app', __name__, template_folder='../templates') config = Config() deploy_config = config.get('deploy') @api_app.route("/apps", methods=['GET']) def all_apps(): apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url")) return flask.jsonify(apps_conf.get())
import flask from commons.sqlite import Database from commons.nginx import NGINX from commons.config import Config from commons.validations import Validations from commons.dns import DNS config = Config() api_app = flask.Blueprint("api_app", __name__, template_folder="../templates") db = Database(config.get("database")) nginx = NGINX(db, config.get("nginx")) validations = Validations(db, config.get("domain")) oracle_conn = config.get("domain").get("db_conn") dns = DNS(config.get("domain"), oracle_conn) @api_app.route("/api/red/local_domain", methods=["GET"]) def local_domain(): return flask.jsonify({ "domain": config.get('domain').get('name', '') }) @api_app.route("/api/red", methods=["GET"]) def index(): return flask.jsonify({ "rows": db.get_redirections() }) @api_app.route("/api/red", methods=["POST"]) def add(): domain = flask.request.json["domain"].lower().strip() url = flask.request.json["url"].strip() alternative = flask.request.json["alt"] status = True message = ""
import flask import flask_lsm_auth from routes.api import api_app import yaml import os from commons.config import Config config = Config() auth_config = config.get("auth") authorizedUsers = auth_config.get("users") app = flask.Flask("redirect") app.register_blueprint(api_app) @app.route("/", methods=["GET"]) def index(): lsm = flask_lsm_auth.LSM(auth_config) return flask.render_template("redirection.html", section="redirection", user=lsm.get_login()) @app.route("/logout", methods=["GET"]) def logout(): lsm = flask_lsm_auth.LSM(auth_config) lsm.logout(flask.request.url_root) return lsm.compose_response() @app.after_request def after_request(res): lsm = flask_lsm_auth.LSM(auth_config) user = lsm.get_login() if not user: lsm.login()
import flask import flask_lsm_auth from flask_assets import Environment from routes.api import api_app import yaml import os from commons.config import Config config = Config() auth_config = config.get("auth") authorizedUsers = auth_config.get("users") app = flask.Flask("redirect") app.register_blueprint(api_app) assets = Environment(app) @app.route("/", methods=["GET"]) def index(): lsm = flask_lsm_auth.LSM(auth_config) return flask.render_template("redirection.html", section="redirection", user=lsm.get_login()) @app.route("/logout", methods=["GET"]) def logout(): lsm = flask_lsm_auth.LSM(auth_config) lsm.logout(flask.request.url_root) return lsm.compose_response()