import httplib import urllib2 import json import urllib import os import sys print(sys.version) from ij import IJ host = '127.0.0.1' port = 8001 uri = 'http://{}:{}/'.format(host, port) abspath = IJ.getImage().getProp('Location') input_filename = os.path.split(abspath)[-1] outpath = 'C:\\Users\\rhodes\\projects\\proj0015-model-server\\resources\\testdata' global connection connection = httplib.HTTPConnection('127.0.0.1', 8001) def hit_endpoint(method, endpoint, params=None): if not method in ['GET', 'PUT']: raise Exception('Can only handle GET and PUT requests') if params: url = endpoint + '?' + urllib.urlencode(params) else: url = endpoint connection.request(method, url) resp = connection.getresponse() print(method + ' ' + url + ', status ' + str(resp.status) + ':\n' + str(json.loads(resp.read()))) return resp hit_endpoint('GET', '/') hit_endpoint('GET', '/models') hit_endpoint('PUT', '/bounce_back', {'par1': 'ghij'}) hit_endpoint('PUT', '/models/ilastik/pixel_classification/load/', {'project_file': 'demo_px.ilp'}) resp = hit_endpoint('GET', '/models') print(resp.read()) #print(json.loads(resp.read())) # trying to extract model_id, but json.loads throws an error #infer_params = { # 'model_id': model_id, # 'input_filename': input_filename, # 'channel': 0 # } # #hit_endpoint('PUT', '/infer/from_image_file', infer_params)