qe-api-client 1.1.0__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/PKG-INFO +1 -1
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine.py +6 -2
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine_field_api.py +1 -1
- qe_api_client-1.2.0/qe_api_client/engine_generic_dimension_api.py +16 -0
- qe_api_client-1.2.0/qe_api_client/engine_generic_measure_api.py +15 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine_generic_object_api.py +1 -1
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine_global_api.py +5 -11
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client.egg-info/PKG-INFO +1 -1
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client.egg-info/SOURCES.txt +2 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/setup.py +1 -1
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/test/test_app_api.py +1 -1
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/test/test_field_api.py +3 -3
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/test/test_global_api.py +3 -3
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/LICENSE +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/README.md +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/__init__.py +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine_app_api.py +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine_communicator.py +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine_generic_variable_api.py +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/engine_helper.py +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client/structs.py +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client.egg-info/dependency_links.txt +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client.egg-info/requires.txt +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/qe_api_client.egg-info/top_level.txt +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/setup.cfg +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/test/test_labs.py +0 -0
- {qe_api_client-1.1.0 → qe_api_client-1.2.0}/test/test_pyqlikengine.py +0 -0
@@ -4,6 +4,8 @@ import qe_api_client.engine_field_api as engine_field_api
|
|
4
4
|
import qe_api_client.engine_generic_object_api as engine_generic_object_api
|
5
5
|
import qe_api_client.engine_global_api as engine_global_api
|
6
6
|
import qe_api_client.engine_generic_variable_api as engine_generic_variable_api
|
7
|
+
import qe_api_client.engine_generic_dimension_api as engine_generic_dimension_api
|
8
|
+
import qe_api_client.engine_generic_measure_api as engine_generic_measure_api
|
7
9
|
import qe_api_client.structs as structs
|
8
10
|
|
9
11
|
|
@@ -24,6 +26,8 @@ class QixEngine:
|
|
24
26
|
self.egoa = engine_generic_object_api.EngineGenericObjectApi(self.conn)
|
25
27
|
self.efa = engine_field_api.EngineFieldApi(self.conn)
|
26
28
|
self.egva = engine_generic_variable_api.EngineGenericVariableApi(self.conn)
|
29
|
+
self.egda = engine_generic_dimension_api.EngineGenericDimensionApi(self.conn)
|
30
|
+
self.egma = engine_generic_measure_api.EngineGenericMeasureApi(self.conn)
|
27
31
|
self.Structs = structs.Structs()
|
28
32
|
self.app_handle = ''
|
29
33
|
|
@@ -39,7 +43,7 @@ class QixEngine:
|
|
39
43
|
return self.eaa.do_reload_ex(self.app_handle)['qResult']['qSuccess']
|
40
44
|
|
41
45
|
def open_app(self, app_obj):
|
42
|
-
opened_app = self.ega.open_doc(app_obj)
|
46
|
+
opened_app = self.ega.open_doc(app_obj)
|
43
47
|
self.app_handle = self.ega.get_handle(opened_app)
|
44
48
|
return opened_app['qGenericId']
|
45
49
|
|
@@ -127,7 +131,7 @@ class QixEngine:
|
|
127
131
|
lb_param = {"qInfo": {"qId": "SLB01", "qType": "ListObject"},
|
128
132
|
"qListObjectDef": lb_def}
|
129
133
|
listobj_handle = self.eaa.create_session_object(self.app_handle, lb_param)["qReturn"]["qHandle"] # NOQA
|
130
|
-
val_list = self.egoa.get_layout(listobj_handle)["
|
134
|
+
val_list = self.egoa.get_layout(listobj_handle)["qListObject"]["qDataPages"][0]["qMatrix"] # NOQA
|
131
135
|
val_n_state_list = []
|
132
136
|
for val in val_list:
|
133
137
|
val_n_state_list.append((val[0]["qText"], val[0]["qState"]))
|
@@ -58,7 +58,7 @@ class EngineFieldApi:
|
|
58
58
|
|
59
59
|
def clear(self, fld_handle):
|
60
60
|
msg = json.dumps({"jsonrpc": "2.0", "id": 0, "handle": fld_handle,
|
61
|
-
"method": "
|
61
|
+
"method": "Clear",
|
62
62
|
"params": []})
|
63
63
|
response = json.loads(self.engine_socket.send_call(self.engine_socket,
|
64
64
|
msg)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import json
|
2
|
+
|
3
|
+
|
4
|
+
class EngineGenericDimensionApi:
|
5
|
+
|
6
|
+
def __init__(self, socket):
|
7
|
+
self.engine_socket = socket
|
8
|
+
|
9
|
+
def get_dimension(self, handle, dimension_id):
|
10
|
+
msg = json.dumps({"jsonrpc": "2.0", "id": 0, "handle": handle, "method": "GetDimension",
|
11
|
+
"params": {"qId": dimension_id}})
|
12
|
+
response = json.loads(self.engine_socket.send_call(self.engine_socket, msg))
|
13
|
+
try:
|
14
|
+
return response["result"]["qReturn"]
|
15
|
+
except KeyError:
|
16
|
+
return response["error"]
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import json
|
2
|
+
|
3
|
+
|
4
|
+
class EngineGenericMeasureApi:
|
5
|
+
|
6
|
+
def __init__(self, socket):
|
7
|
+
self.engine_socket = socket
|
8
|
+
|
9
|
+
def get_measure(self, handle, measure_id):
|
10
|
+
msg = json.dumps({"jsonrpc": "2.0", "id": 0, "handle": handle, "method": "GetMeasure", "params": {"qId": measure_id}})
|
11
|
+
response = json.loads(self.engine_socket.send_call(self.engine_socket, msg))
|
12
|
+
try:
|
13
|
+
return response["result"]["qReturn"]
|
14
|
+
except KeyError:
|
15
|
+
return response["error"]
|
@@ -60,18 +60,12 @@ class EngineGlobalApi:
|
|
60
60
|
return response["error"]
|
61
61
|
|
62
62
|
# opens an app and returns an object with handle, generic id and type
|
63
|
-
def open_doc(self, app_name, user_name='',
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
{"jsonrpc": "2.0", "id": 0, "handle": -1,
|
68
|
-
"method": "OpenDoc", "params": [app_name, user_name,
|
69
|
-
password, serial,
|
70
|
-
no_data]})
|
71
|
-
response = json.loads(
|
72
|
-
self.engine_socket.send_call(self.engine_socket, msg))
|
63
|
+
def open_doc(self, app_name, user_name='', password='', serial='', no_data=False):
|
64
|
+
msg = json.dumps({"jsonrpc": "2.0", "id": 0, "handle": -1, "method": "OpenDoc",
|
65
|
+
"params": [app_name, user_name, password, serial, no_data]})
|
66
|
+
response = json.loads(self.engine_socket.send_call(self.engine_socket, msg))
|
73
67
|
try:
|
74
|
-
return response[
|
68
|
+
return response["result"]["qReturn"]
|
75
69
|
except KeyError:
|
76
70
|
return response["error"]
|
77
71
|
|
@@ -6,6 +6,8 @@ qe_api_client/engine.py
|
|
6
6
|
qe_api_client/engine_app_api.py
|
7
7
|
qe_api_client/engine_communicator.py
|
8
8
|
qe_api_client/engine_field_api.py
|
9
|
+
qe_api_client/engine_generic_dimension_api.py
|
10
|
+
qe_api_client/engine_generic_measure_api.py
|
9
11
|
qe_api_client/engine_generic_object_api.py
|
10
12
|
qe_api_client/engine_generic_variable_api.py
|
11
13
|
qe_api_client/engine_global_api.py
|
@@ -22,7 +22,7 @@ class TestAppApi(unittest.TestCase):
|
|
22
22
|
self.struct = Structs()
|
23
23
|
self.app = self.ega.create_app("TestApp")['qAppId']
|
24
24
|
opened_app = self.ega.open_doc(self.app)
|
25
|
-
self.app_handle = self.ega.get_handle(opened_app
|
25
|
+
self.app_handle = self.ega.get_handle(opened_app)
|
26
26
|
|
27
27
|
def test_add_alternate_state(self):
|
28
28
|
response = self.eaa.add_alternate_state(self.app_handle, "MyState")
|
@@ -21,7 +21,7 @@ class TestFieldApi(unittest.TestCase):
|
|
21
21
|
self.struct = Structs()
|
22
22
|
self.app = self.ega.create_app("TestApp")["qAppId"]
|
23
23
|
opened_app = self.ega.open_doc(self.app)
|
24
|
-
self.app_handle = self.ega.get_handle(opened_app
|
24
|
+
self.app_handle = self.ega.get_handle(opened_app)
|
25
25
|
with open('../test/test_data/ctrl00_script.qvs') as f:
|
26
26
|
script = f.read()
|
27
27
|
self.eaa.set_script(self.app_handle, script)
|
@@ -46,7 +46,7 @@ class TestFieldApi(unittest.TestCase):
|
|
46
46
|
sel_res = self.efa.select_values(self.fld_handle, values_to_select)
|
47
47
|
self.assertTrue(sel_res["qReturn"] is True,
|
48
48
|
"Failed to perform selection")
|
49
|
-
val_mtrx = self.egoa.get_layout(self.lb_handle)["
|
49
|
+
val_mtrx = self.egoa.get_layout(self.lb_handle)["qListObject"]["qDataPages"][0]["qMatrix"] # NOQA
|
50
50
|
self.assertEqual(val_mtrx[0][0]["qState"],
|
51
51
|
"S",
|
52
52
|
"Failed to select first value")
|
@@ -54,7 +54,7 @@ class TestFieldApi(unittest.TestCase):
|
|
54
54
|
"X",
|
55
55
|
"Failed to exclude fifth value")
|
56
56
|
self.eaa.clear_all(self.app_handle)
|
57
|
-
val_mtrx = self.egoa.get_layout(self.lb_handle)["
|
57
|
+
val_mtrx = self.egoa.get_layout(self.lb_handle)["qListObject"]["qDataPages"][0]["qMatrix"] # NOQA
|
58
58
|
self.assertEqual(val_mtrx[0][0]["qState"],
|
59
59
|
"O",
|
60
60
|
"Failed to clear selection")
|
@@ -37,14 +37,14 @@ class TestGlobalApi(unittest.TestCase):
|
|
37
37
|
# print response_copy
|
38
38
|
response_open = self.ega.open_doc("test_app")
|
39
39
|
# response_open = self.ega.open_doc_ex("test_app_asdf")
|
40
|
-
self.assertEqual(response_open[
|
40
|
+
self.assertEqual(response_open["qHandle"], 1,
|
41
41
|
"Failed to retrieve a proper document "
|
42
42
|
"handle with open_doc method")
|
43
|
-
self.assertTrue(response_open[
|
43
|
+
self.assertTrue(response_open["qGenericId"].
|
44
44
|
endswith(".qvf"),
|
45
45
|
'Generic id does not contain any app '
|
46
46
|
'file extension using open_doc method')
|
47
|
-
self.assertEqual(response_open[
|
47
|
+
self.assertEqual(response_open["qType"], "Doc",
|
48
48
|
'Unknown doc type returned using open_doc method')
|
49
49
|
response_get_active_doc = self.ega.get_active_doc()
|
50
50
|
self.assertEqual(response_get_active_doc['qReturn']["qHandle"], 1,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|