Skip to content

Commit

Permalink
added prefix to Settings modal
Browse files Browse the repository at this point in the history
  • Loading branch information
awicenec committed Aug 9, 2021
1 parent b313098 commit 1adf38d
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 17 deletions.
2 changes: 1 addition & 1 deletion daliuge-common/dlg/common/streams.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ def read(self, n=-1):
raise ValueError("n must be positive")

if self.buflen >= n:
self.buflen -= n;
self.buflen -= n
data = b''.join(self.buf)
self.buf = [data[n:]]
return data[:n]
Expand Down
17 changes: 10 additions & 7 deletions daliuge-common/dlg/restutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,10 @@ class RestClient(object):
The base class for our REST clients
"""

def __init__(self, host, port, timeout=None):
def __init__(self, host, port, url_prefix='', timeout=None):
self.host = host
self.port = port
self.url_prefix = url_prefix
self.timeout = timeout
self._conn = None
self._resp = None
Expand All @@ -120,7 +121,7 @@ def __exit__(self, typ, value, traceback):


def _get_json(self, url):
ret = self._GET(url)
ret = self._GET(self.url_prefix + url)
return json.load(ret) if ret else None

def _post_form(self, url, content=None):
Expand Down Expand Up @@ -160,7 +161,8 @@ def _DELETE(self, url):
def _request(self, url, method, content=None, headers={}):

# Do the HTTP stuff...
logger.debug("Sending %s request to %s:%d%s", method, self.host, self.port, url)
logger.debug("Sending %s request to %s:%d%s%s", method,
self.host, self.port, self.url_prefix, url)

if not common.portIsOpen(self.host, self.port, self.timeout):
raise RestClientException("Cannot connect to %s:%d after %.2f [s]" % (self.host, self.port, self.timeout))
Expand All @@ -170,14 +172,15 @@ def _request(self, url, method, content=None, headers={}):
content = chunked(content)

self._conn = http.client.HTTPConnection(self.host, self.port)
self._conn.request(method, url, content, headers)
self._conn.request(method, self.url_prefix + url, content, headers)
self._resp = self._conn.getresponse()

# Server errors are encoded in the body as json content
if self._resp.status != http.HTTPStatus.OK:

msg = 'Error on remote %s@%s:%s%s (status %d): ' % \
(method, self.host, self.port, url, self._resp.status)
msg = 'Error on remote %s@%s:%s%s%s (status %d): ' % \
(method, self.host, self.port,
self.url_prefix, url, self._resp.status)

try:
error = json.loads(self._resp.read().decode('utf-8'))
Expand All @@ -201,4 +204,4 @@ def _request(self, url, method, content=None, headers={}):

if not self._resp.length:
return None, None
return codecs.getreader('utf-8')(self._resp), self._resp
return codecs.getreader('utf-8')(self._resp), self._resp
9 changes: 9 additions & 0 deletions daliuge-translator/dlg/dropmake/web/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,22 @@ $( document ).ready(function() {
function saveSettings(){
var newPort = $("#managerPortInput").val();
var newHost = $("#managerHostInput").val().replace(/\s+/g, '');
var newPrefix = $("#managerPrefixInput").val().replace(/\s+/g, '');
console.log("Host set to:'"+newHost+"'");
console.log("Port set to:'"+newPort+"'");
console.log("Prefix set to:'"+newPrefix+"'");

window.localStorage.setItem("manager_port", newPort);
window.localStorage.setItem("manager_host", newHost);
window.localStorage.setItem("manager_prefix", newPrefix);
$('#settingsModal').modal('hide')
}

function fillOutSettings(){
//get setting values from local storage
var manager_host = window.localStorage.getItem("manager_host");
var manager_port = window.localStorage.getItem("manager_port");
var manager_prefix = window.localStorage.getItem("manager_prefix");

//fill settings with saved or default values
if (!manager_host){
Expand All @@ -56,6 +60,11 @@ function fillOutSettings(){
}else{
$("#managerPortInput").val(manager_port);
};
if (!manager_prefix){
$("#managerPrefixInput").val("");
}else{
$("#managerPrefixInput").val(manager_prefix);
};
}

function makeJSON() {
Expand Down
5 changes: 5 additions & 0 deletions daliuge-translator/dlg/dropmake/web/pg_viewer.html
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ <h5 class="modal-title" id="settingsModalLabel">Settings</h5>
<span>DALiuGE Manager port:</span>
<input id="managerPortInput" type="number" name="dlg_mgr_port" value="8001" style="font-size:16px;">
</div>
<!-- DALiuGE Manager port:<input type="text" name="dlg_mgr_prefix" value="" style="font-size:16px;"> -->
<div class="settingsSection">
<span>DALiuGE Manager prefix:</span>
<input id="managerPrefixInput" type="text" name="dlg_mgr_prefix" value="" style="font-size:16px;">
</div>
<input type="checkbox" id="dlg_mgr_deploy" style="visibility:hidden;" name="dlg_mgr_deploy" value="deploy" checked>
<input type="hidden" name="pgt_id" value="{{pgt_view_json_name}}">
</form>
Expand Down

Large diffs are not rendered by default.

18 changes: 9 additions & 9 deletions daliuge-translator/test/dropmake/test_lgweb.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def _generate_pgt(self, c):

def test_get_lgjson(self):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)

# a specific one
lg = c._get_json('/jsonbody?lg_name=logical_graphs/chiles_simple.graph')
Expand All @@ -71,7 +71,7 @@ def test_get_lgjson(self):

def test_post_lgjson(self):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)

# new graphs cannot currently be added
form_data = {'lg_name': 'new.graph', 'lg_content': '{"id": 1, "name": "example"}'}
Expand All @@ -97,7 +97,7 @@ def test_post_lgjson(self):

def test_gen_pgt(self):

c = RestClient('127.0.0.1', lgweb_port, 10)
c = RestClient('127.0.0.1', lgweb_port, timeout=10)

# doesn't exist!
self.assertRaises(RestClientException, c._GET, '/gen_pgt?lg_name=doesnt_exist.json&num_par=5&algo=metis&min_goal=0&ptype=0&max_load_imb=100')
Expand All @@ -108,7 +108,7 @@ def test_gen_pgt(self):

def test_get_pgtjson(self):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)
c._GET('/gen_pgt?lg_name=logical_graphs/chiles_simple.graph&num_par=5&algo=metis&min_goal=0&ptype=0&max_load_imb=100')

# doesn't exist
Expand All @@ -118,7 +118,7 @@ def test_get_pgtjson(self):

def test_get_pgt_post(self):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)

# an API call with an empty form should cause an error
self.assertRaises(RestClientException, c._POST, '/gen_pgt')
Expand Down Expand Up @@ -150,7 +150,7 @@ def test_get_pgt_post(self):

def test_mkn_pgt_post(self):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)

# an API call with an empty form should cause an error
self.assertRaises(RestClientException, c._POST, '/gen_pgt')
Expand Down Expand Up @@ -182,7 +182,7 @@ def test_mkn_pgt_post(self):

def test_loop_pgt_post(self):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)

# an API call with an empty form should cause an error
self.assertRaises(RestClientException, c._POST, '/gen_pgt')
Expand Down Expand Up @@ -213,7 +213,7 @@ def test_loop_pgt_post(self):

def test_pg_viewerer(self):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)
self._generate_pgt(c)

# doesn't exist
Expand All @@ -226,7 +226,7 @@ def test_pg_viewerer(self):

def _test_pgt_action(self, path, unknown_fails):

c = RestClient('localhost', lgweb_port, 10)
c = RestClient('localhost', lgweb_port, timeout=10)
self._generate_pgt(c)

# doesn't exist
Expand Down

0 comments on commit 1adf38d

Please sign in to comment.