-
Notifications
You must be signed in to change notification settings - Fork 5
WEB
Dmitry Ponyatov edited this page Aug 19, 2019
·
5 revisions
#################################################################### ввод/вывод
class IO(Frame): pass
############################################################### сетевые функции
class Net(IO): pass
class IP(Net): pass
class Port(Net):
def __init__(self,V):
Net.__init__(self, int(V))
################################################################# web-интерфейс
class Web(Net):
def __init__(self,V):
Net.__init__(self, V)
self['host'] = IP('127.0.0.1')
self['port'] = Port(8888)
def eval(self,ctx):
flask = __import__('flask')
app = flask.Flask(self.val)
@app.route('/')
def index():
return flask.render_template('index.html',ctx=ctx,web=self)
@app.route('/<path>.css')
def css(path):
return flask.Response(\
flask.render_template(path + '.css',ctx=ctx,web=self),\
mimetype='text/css')
app.run(host=self['host'].val,port=self['port'].val,debug=True)
################################################################# web-интерфейс
def WEB(ctx): ctx['WEB'] = Web('metaL') ; ctx['WEB'].eval(ctx)
glob << WEB
################################################################# инициализация
WEB(glob)
<context:global> @7f2d32f23320 #0
WEB = <web:metaL> @7f2d32cef208 #1
host = <ip:127.0.0.1> @7f2d32f23518 #1
port = <port:8888> @7f2d329f74a8 #1
NOP = <cmd:<lambda>> @7f2d32f23438 #1
BYE = <cmd:BYE> @7f2d32f233c8 #1