Пример #1
0
from atila import Atila
import time, math
import json
from package import route_guide_pb2

app = Atila(__name__)
app.debug = True
app.use_reloader = True


@app.route("/add_number")
def add_number(was, a, b):
    return a + b


@app.route("/")
def index_rpc2(was, a, b):
    return "<h1>XML-RPC</h1>"


if __name__ == "__main__":
    import skitai

    skitai.mount("/rpc2", app)
    skitai.run(port=30371)
Пример #2
0
from atila import Atila
import time, math
import json
from package import route_guide_pb2

app = Atila(__name__)
app.debug = True
app.use_reloader = True


@app.route("/")
def RouteChat(was):
    return "<h1>Reverse Proxing</h1><a href='/lb/pypi'>Click Here</a>"


if __name__ == "__main__":
    import skitai

    skitai.alias("@pypi", skitai.PROTO_HTTPS, "pypi.org")
    skitai.mount("/", app)
    skitai.mount("/lb", "@pypi")
    skitai.run(port=30371)
Пример #3
0
		return was.wsconfig (skitai.WS_GROUPCHAT, 60)
	elif was.wsopened ():
		return "Client %s has entered" % was.wsclient ()
	elif was.wsclosed ():
		return "Client %s has leaved" % was.wsclient ()
	return "Client %s Said: %s" % (was.wsclient (), message)

def onchatopen (was):
	return "Client %s has entered" % was.wsclient ()

def onchatclose (was):
	return "Client %s has leaved" % was.wsclient ()

@app.route ("/chat2")
@app.websocket (skitai.WS_GROUPCHAT, 60, onopen = onchatopen, onclose = onchatclose)
def chat2 (was, message, room_id):
	if message:
		return "Client %s Said: %s" % (was.wsclient (), message)

@app.route ("/")
def websocket (was, mode = "echo"):
	if mode == "chat":	
		mode += "?room_id=1"
	return was.render ("websocket.html", path = mode)
	
if __name__ == "__main__":
	import skitai
	
	skitai.mount ("/websocket", app)
	skitai.run (port = 30371)
	
Пример #4
0
from atila import Atila

if __name__ == "__main__":
	import skitai

	skitai.alias ("@pypi", skitai.PROTO_HTTPS, "pypi.org")
	skitai.mount ("/", 'statics')
	skitai.mount ("/", "app.py")
	skitai.mount ("/websocket", 'websocket.py')
	skitai.mount ("/rpc2", 'rpc2.py')
	skitai.mount ("/routeguide.RouteGuide", 'grpc_route_guide.py')
	skitai.mount ("/members", 'auth.py')
	skitai.mount ("/lb", "@pypi")
	skitai.enable_ssl (
		"resources/certifications/server.crt",
		"resources/certifications/server.key",
		"fatalbug"
	)
	skitai.run (port = 30371, quic = 4433)
Пример #5
0
    # For JWT Claim
    def handle_claim(self, handler, request):
        claim = request.claim
        expires = claim.get("expires", 0)
        if expires and expires < time.time():
            return handler.continue_request(request)
        handler.continue_request(request, claim.get("user"),
                                 claim.get("roles"))


@app.startup
def startup(wasc):
    wasc.handler.set_auth_handler(Authorizer())


@app.route("/")
def index(was):
    return "<h1>Skitai App Engine: API Gateway</h1>"


if __name__ == "__main__":
    import skitai
    skitai.alias("@pypi", skitai.PROTO_HTTP, "gall.dcinside.com")
    skitai.alias("@postgres", skitai.DB_PGSQL,
                 "127.0.0.1:5432/mydb/postgres/1111")
    skitai.mount('/', app)
    skitai.mount('/lb', '@pypi')
    skitai.enable_gateway(True, "8fa06210-e109-11e6-934f-001b216d6e71",
                          "Skitai API Gateway")
    skitai.run(address="0.0.0.0", port=30371)
Пример #6
0
from atila import Atila
import skitai

app = Atila(__name__)

app.debug = True
app.use_reloader = True
app.jinja_overlay()
app.realm = "Secured Area"
app.users = {"admin": ("1111", 0, {'role': 'root'})}


@app.route("/", authenticate="digest")
def index(was):
    return was.render("index.html")


if __name__ == "__main__":
    import skitai
    skitai.mount("/", app)
    skitai.run(address="0.0.0.0", port=30371)
Пример #7
0
from atila import Atila

if __name__ == "__main__":
    import skitai
    skitai.mount("/", "app.py")
    skitai.enable_forward(80, 443, '127.0.0.1')
    skitai.enable_ssl("resources/certifications/server.crt",
                      "resources/certifications/server.key", "fatalbug")
    skitai.run(port=443, workers=1)
Пример #8
0
def test_skitai(app):
    skitai.set_worker_critical_point()

    skitai.register_states("a", "b")
    if was._started():
        assert was._luwatcher._keys == ['a', 'b']
    else:
        assert skitai.dconf["models_keys"] == {"a", "b"}

    if os.name != "posix":
        return

    assert skitai.joinpath('a', 'b').endswith("/bin/a/b")
    skitai.mount("/k", app)
    assert skitai.dconf['mount']["default"][0][1][0].endswith('/bin/pytest')
    assert skitai.dconf['mount']["default"][0][1][1] == 'app'

    skitai.dconf['mount']["default"] = []
    skitai.mount("/k2", '/path/app.py', 'app')
    assert skitai.dconf['mount']["default"][0][1] == ('/path/app.py', 'app')

    skitai.dconf['mount']["default"] = []
    skitai.mount("/k2", 'path/app.py', 'app')
    assert skitai.dconf['mount']["default"][0][1][0].endswith(
        '/bin/path/app.py')
    assert skitai.dconf['mount']["default"][0][1][1] == 'app'

    if tfserver:
        pref = skitai.pref()
        pref.config.tf_models = None
        skitai.dconf['mount']["default"] = []
        skitai.mount("/k2", tfserver, pref=pref)
        assert skitai.dconf['mount']["default"][0][1][0].endswith(
            'tfserver/export/skitai/__export__.py')

        skitai.dconf['mount']["default"] = []
        skitai.mount("/k2", (tfserver, "dapp"), "dapp", pref=pref)
        assert skitai.dconf['mount']["default"][0][1][0].endswith(
            'tfserver/export/skitai/dapp')
        assert skitai.dconf['mount']["default"][0][1][1] == "dapp"

    skitai.dconf['mount']["default"] = []
    skitai.mount("/k2", "X11")
    assert skitai.dconf['mount']["default"][0][1][0].endswith('/bin/X11')

    skitai.dconf['mount']["default"] = []
    skitai.mount("/k2", "@X11")
    assert skitai.dconf['mount']["default"][0][1] == "@X11"

    if django:
        skitai.dconf['mount']["default"] = []
        t = os.path.join(os.path.dirname(__file__), "django_")
        skitai.mount("/k2", t)
        assert skitai.dconf['mount']["default"][0][1] == t

        skitai.dconf['mount']["default"] = []
        t = os.path.join(os.path.dirname(__file__), "django_", "wsgi.py")
        skitai.mount("/k2", t, "application")

        t = os.path.join(os.path.dirname(__file__), "django_", "settings.py")
        skitai.alias("@django", skitai.DJANGO, t)
        assert skitai.dconf["clusters"]["django"]
Пример #9
0
import skitai
import tfserver
import tensorflow as tf
import os
import sys

def load_latest_model (model_name, subdir = None, per_process_gpu_memory_fraction = 0.03):    
    loc = os.path.normpath(subdir)    
    if not os.path.isdir (loc) or not os.listdir (loc):
        return
    version = max ([int (ver) for ver in os.listdir (loc) if ver.isdigit () and os.path.isdir (os.path.join (loc, ver))])    
    model_path = os.path.join (loc, str (version))
    tfconfig = tf.ConfigProto(log_device_placement = False)
    pref.config.tf_models [model_name] = (model_path, tfconfig)    


if __name__ == "__main__":    
    pref = skitai.pref ()
    pref.max_client_body_size = 100 * 1024 * 1024 # 100 MB
    pref.debug = True
    pref.use_reloader = True
    pref.access_control_allow_origin = ["*"]
    pref.config.tf_models = {}
    load_latest_model ("test", skitai.joinpath ("models"), 0.1)
    skitai.mount ("/", tfserver, pref = pref)
    skitai.run (port = 5000, name = "tfms")

Пример #10
0
from atila import Atila
import time, math
import json
from services import route_guide_pb2

app = Atila(__name__)
app.debug = True
app.use_reloader = True


@app.route("/")
def RouteChat(was):
    return "<h1>Reverse Proxing</h1><a href='/lb/pypi'>Click Here</a>"


@app.route("/pypi")
def documentation(was):
    return was.get("https://pypi.org/project/rs4/",
                   headers=[("Accept", "text/html")]).fetch()


if __name__ == "__main__":
    import skitai

    skitai.alias("@pypi", skitai.PROTO_HTTPS, "pypi.org")
    skitai.mount("/", app)
    skitai.mount("/lb", "@pypi")
    skitai.mount("/lb2", "@pypi/project")
    skitai.run(port=30371)
Пример #11
0
import os
from atila import Atila
import skitai

app = Atila(__name__)

app.debug = True
app.use_reloader = True
app.skito_jinja()


@app.route("/")
def index(was):
    return was.render("jinja2overlay.html", name="Hans Roh", num=10)


if __name__ == "__main__":
    import skitai

    skitai.mount("/", 'statics')
    skitai.mount("/", app)
    skitai.run(port=30371)