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