idk, this has kind of stagnated
This commit is contained in:
parent
9da10a15e7
commit
56de2852c9
@ -3,9 +3,17 @@ from mocha.web.WebServer import WebServer
|
||||
from mocha.oms import Oms
|
||||
from mocha.oms.memory import MemoryOms
|
||||
|
||||
import sys
|
||||
import os, sys
|
||||
from getopt import getopt
|
||||
|
||||
import signal
|
||||
|
||||
def keyi(signum, frame):
|
||||
print("stopping all servers")
|
||||
svrmgr.stop()
|
||||
|
||||
print("mocha-cup done")
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
port = 8081
|
||||
@ -22,11 +30,17 @@ if __name__ == "__main__":
|
||||
svrmgr = ServerManager()
|
||||
|
||||
if len(remaining) == 0:
|
||||
print("error: no server configurations specified")
|
||||
if os.path.isfile("Mochafile"):
|
||||
print("[ INFO ]: percolating from Mochafile")
|
||||
svrmgr.add_server_config("Mochafile")
|
||||
else:
|
||||
print("error: no server configurations specified, or Mochafile not present")
|
||||
|
||||
for library in remaining:
|
||||
svrmgr.add_server_config(library)
|
||||
|
||||
signal.signal(signal.SIGINT, keyi)
|
||||
|
||||
svrmgr.start()
|
||||
|
||||
# from mocha.lib.LibraryManager import MochaLibraryManager
|
||||
|
||||
6
mocha-python/src/mocha-python/mocha/web/WebRequest.py
Normal file
6
mocha-python/src/mocha-python/mocha/web/WebRequest.py
Normal file
@ -0,0 +1,6 @@
|
||||
class WebRequest:
|
||||
|
||||
def __init__(self, path : list):
|
||||
self._path = path
|
||||
|
||||
|
||||
@ -6,12 +6,16 @@ import json
|
||||
|
||||
from ..oms import Oms
|
||||
from ..web.AssetLocation import LocalAssetLocation, RemoteAssetLocation
|
||||
from ..web.WebRequest import WebRequest
|
||||
|
||||
class WebRequestHandler(BaseHTTPRequestHandler):
|
||||
def __init__(self, request, client_address, server):
|
||||
BaseHTTPRequestHandler.__init__(self, request, client_address, server)
|
||||
self.__oms = server._oms
|
||||
|
||||
def version_string(self) -> str:
|
||||
return "Mocha User Interface Service"
|
||||
|
||||
@cached_property
|
||||
def url(self):
|
||||
return urlparse(self.path)
|
||||
@ -166,8 +170,9 @@ Disallow: /
|
||||
if path[1] == "d":
|
||||
if len(path) > 2:
|
||||
if path[2] == "home.htmld":
|
||||
from .pages import HomeWebPage
|
||||
from .ui.pages import HomeWebPage
|
||||
page = HomeWebPage()
|
||||
page.request = WebRequest(path)
|
||||
self.respond_with_content(200, "OK", "application/xhtml+xml", page.render_html())
|
||||
|
||||
jj = self.get_json_response()
|
||||
|
||||
@ -37,6 +37,10 @@ class WebServer():
|
||||
from http.server import HTTPServer
|
||||
|
||||
server = HTTPServer(self.__tup, WebRequestHandler)
|
||||
self._server = server
|
||||
server._oms = self._oms
|
||||
server._server = self
|
||||
server.serve_forever()
|
||||
server.serve_forever()
|
||||
|
||||
def shutdown(self):
|
||||
self._server.shutdown()
|
||||
@ -8,6 +8,7 @@ class ServerManager:
|
||||
|
||||
def __init__(self):
|
||||
self._servers = [ ]
|
||||
self._threads = [ ]
|
||||
|
||||
def add_server_config(self, filename):
|
||||
import yaml
|
||||
@ -72,6 +73,11 @@ class ServerManager:
|
||||
for server in self._servers:
|
||||
t = threading.Thread(target = self._serve, args = [ server ])
|
||||
t.start()
|
||||
self._threads.append(t)
|
||||
|
||||
def stop(self):
|
||||
for server in self._servers:
|
||||
server.shutdown()
|
||||
|
||||
def _serve(self, server):
|
||||
server.serve_forever()
|
||||
@ -22,17 +22,22 @@ class BaseWebPage (WebPage):
|
||||
self._oms = oms
|
||||
|
||||
def get_client_config_script(self):
|
||||
tenant_name = ""
|
||||
if not self.get_oms() is None:
|
||||
tenant_name = self.get_oms().get_tenant_name()
|
||||
|
||||
|
||||
return WebScript("text/javascript", content="""
|
||||
// Add properties to mocha
|
||||
window.mocha = window.mocha || {};
|
||||
mocha.tenant = '""" + self.get_oms().get_tenant_name() + """';
|
||||
mocha.tenant = '""" + tenant_name + """';
|
||||
mocha.clientOrigin = 'https://wd5-impl.workday.com';
|
||||
mocha.language = 'en_US';
|
||||
mocha.clientVersion = '0';
|
||||
mocha.systemConfidenceLevel = 'PROD';
|
||||
mocha.oauthAuthorizationPending = false;
|
||||
mocha.proxyLoginEnabled = false;
|
||||
mocha.maintenancePageUrl = 'https://wd5-impl.workday.com/wday/drs/outage?t=cityoforlando3';
|
||||
mocha.maintenancePageUrl = 'https://wd5-impl.workday.com/madi/drs/outage?t=""" + tenant_name + """';
|
||||
mocha.deviceTrustDetailsUrl = '';
|
||||
mocha.pendingAuthDetailsUrl = '';
|
||||
mocha.webAuthnDetailsUrl = '';
|
||||
@ -40,8 +45,8 @@ class BaseWebPage (WebPage):
|
||||
|
||||
// Construct init params for GWT app
|
||||
mocha.initParams = {
|
||||
authGatewayPath: '/wday/authgwy',
|
||||
baseDir: '/wday/asset/ui-html/',
|
||||
authGatewayPath: '/madi/authgwy',
|
||||
baseDir: '/madi/asset/ui-html/',
|
||||
systemConfidenceLevel: 'PROD',
|
||||
cdn: {
|
||||
endpoint: 'wd5-impl.workdaycdn.com',
|
||||
@ -51,8 +56,8 @@ class BaseWebPage (WebPage):
|
||||
proxyEnabled: false,
|
||||
currentVersion: '20.0.04.045',
|
||||
serviceType: 'authgwy',
|
||||
loginAuthURL: '/cityoforlando3/login-auth.xml',
|
||||
environment: 'Implementation - cityoforlando3',
|
||||
loginAuthURL: '/""" + tenant_name + """/login-auth.xml',
|
||||
environment: 'Implementation - """ + tenant_name + """',
|
||||
environmentType: 'IMPL'
|
||||
};
|
||||
""")
|
||||
Loading…
x
Reference in New Issue
Block a user