qe-api-client 1.0.0__py3-none-any.whl → 1.2.0__py3-none-any.whl

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/engine.py CHANGED
@@ -3,24 +3,31 @@ import qe_api_client.engine_communicator as engine_communicator
3
3
  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
+ 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
6
9
  import qe_api_client.structs as structs
7
10
 
8
11
 
9
12
  class QixEngine:
10
13
 
11
- def __init__(self, url, user_directory,
12
- user_id, ca_certs, certfile,
13
- keyfile, app_id=None):
14
+ def __init__(self, url, user_directory=None, user_id=None, ca_certs=None, certfile=None, keyfile=None, app_id=None):
14
15
  self.url = url
15
- self.conn = engine_communicator.SecureEngineCommunicator(
16
- url, user_directory,
17
- user_id, ca_certs, certfile,
18
- keyfile, app_id
19
- )
16
+
17
+ # Check, if server or local connection available
18
+ if user_directory is None and user_id is None and ca_certs is None and certfile is None and keyfile is None:
19
+ self.conn = engine_communicator.EngineCommunicator(url)
20
+ else:
21
+ self.conn = engine_communicator.SecureEngineCommunicator(url, user_directory, user_id, ca_certs, certfile,
22
+ keyfile, app_id)
23
+
20
24
  self.ega = engine_global_api.EngineGlobalApi(self.conn)
21
25
  self.eaa = engine_app_api.EngineAppApi(self.conn)
22
26
  self.egoa = engine_generic_object_api.EngineGenericObjectApi(self.conn)
23
27
  self.efa = engine_field_api.EngineFieldApi(self.conn)
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)
24
31
  self.Structs = structs.Structs()
25
32
  self.app_handle = ''
26
33
 
@@ -36,7 +43,7 @@ class QixEngine:
36
43
  return self.eaa.do_reload_ex(self.app_handle)['qResult']['qSuccess']
37
44
 
38
45
  def open_app(self, app_obj):
39
- opened_app = self.ega.open_doc(app_obj)['qReturn']
46
+ opened_app = self.ega.open_doc(app_obj)
40
47
  self.app_handle = self.ega.get_handle(opened_app)
41
48
  return opened_app['qGenericId']
42
49
 
@@ -124,7 +131,7 @@ class QixEngine:
124
131
  lb_param = {"qInfo": {"qId": "SLB01", "qType": "ListObject"},
125
132
  "qListObjectDef": lb_def}
126
133
  listobj_handle = self.eaa.create_session_object(self.app_handle, lb_param)["qReturn"]["qHandle"] # NOQA
127
- val_list = self.egoa.get_layout(listobj_handle)["qLayout"]["qListObject"]["qDataPages"][0]["qMatrix"] # NOQA
134
+ val_list = self.egoa.get_layout(listobj_handle)["qListObject"]["qDataPages"][0]["qMatrix"] # NOQA
128
135
  val_n_state_list = []
129
136
  for val in val_list:
130
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": "SelectExcluded",
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"]
@@ -13,7 +13,7 @@ class EngineGenericObjectApi:
13
13
  msg)
14
14
  )
15
15
  try:
16
- return response["result"]
16
+ return response["result"]["qLayout"]
17
17
  except KeyError:
18
18
  return response["error"]
19
19
 
@@ -0,0 +1,24 @@
1
+ import json
2
+
3
+
4
+ class EngineGenericVariableApi:
5
+
6
+ def __init__(self, socket):
7
+ self.engine_socket = socket
8
+
9
+ def set_string_value(self, handle, str_val):
10
+ msg = json.dumps({"jsonrpc": "2.0", "id": 0, "handle": handle, "method": "SetStringValue",
11
+ "params": {"qVal": str_val}})
12
+ response = json.loads(self.engine_socket.send_call(self.engine_socket, msg))
13
+ try:
14
+ return response["result"]
15
+ except KeyError:
16
+ return response["error"]
17
+
18
+ def get_properties(self, handle):
19
+ msg = json.dumps({"jsonrpc": "2.0", "id": 0, "handle": handle, "method": "GetProperties", "params": {}})
20
+ response = json.loads(self.engine_socket.send_call(self.engine_socket, msg))
21
+ try:
22
+ return response["result"]
23
+ except KeyError:
24
+ 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
- password='', serial='', no_data=False
65
- ):
66
- msg = json.dumps(
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['result']
68
+ return response["result"]["qReturn"]
75
69
  except KeyError:
76
70
  return response["error"]
77
71
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qe-api-client
3
- Version: 1.0.0
3
+ Version: 1.2.0
4
4
  Summary: Python wrapper around Qlik Engine JSON API
5
5
  Home-page: https://github.com/lr-bicc/qe-api-client
6
6
  Author: Rumen Vasilev
@@ -0,0 +1,17 @@
1
+ qe_api_client/__init__.py,sha256=bypB4CIjpHtf5Pu_NwtJajC69zqQD7qB9jo8cCX0B54,23
2
+ qe_api_client/engine.py,sha256=zxdpfkod7xB4Qdr73g-4DxVAE5Svv2Lu0sSJNjnaxNU,7507
3
+ qe_api_client/engine_app_api.py,sha256=_BE39CeNhe9j5wChMdObgz7-3WSKSYF9yx-nixpfzkw,40267
4
+ qe_api_client/engine_communicator.py,sha256=Va8Kz4cN6uyKLzV3JllBw08KbU4uDn8e-5pIm5Kmsfs,1291
5
+ qe_api_client/engine_field_api.py,sha256=7tqOQMYkm0g9eg3OuKvVyXN9Kr-VWDwsCODNb14jjfE,3157
6
+ qe_api_client/engine_generic_dimension_api.py,sha256=734Sm9I3j3gfZ3jx_CDSupGVgpmMmCTs9lxYSJ2qXVM,534
7
+ qe_api_client/engine_generic_measure_api.py,sha256=Vm94YTsLqFMuEEc2ZidtbjWSnejV6ffzc1CnquBrhC4,498
8
+ qe_api_client/engine_generic_object_api.py,sha256=DRIglCYdyvO6jDO2JQILcoZ8vvv4qPEXV_6HxWSuo9w,4139
9
+ qe_api_client/engine_generic_variable_api.py,sha256=mKew3p9dDDSpOl_iMfzPL5GM3FL1oOxHBm1Qp7xatP8,867
10
+ qe_api_client/engine_global_api.py,sha256=sE2rvNFSvsk4RNFdPq8xBa1hFpFtwp2LdQDYD8Ot91c,20704
11
+ qe_api_client/engine_helper.py,sha256=gxaTFU06YMGwXloxv3Sku6PbhDmTw_jEZdX9w-gfw5c,2337
12
+ qe_api_client/structs.py,sha256=YHxIurQjmWWEZ-F3kZ_kQHkoWiVAqCpZB7k6hlioOxU,3709
13
+ qe_api_client-1.2.0.dist-info/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
14
+ qe_api_client-1.2.0.dist-info/METADATA,sha256=Zv7knHJcYa0HZez0eHu6zJy48vF6mlKmZHJOt_qv8ns,1376
15
+ qe_api_client-1.2.0.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
16
+ qe_api_client-1.2.0.dist-info/top_level.txt,sha256=m_43YagP8UtZgJHmZEfu0vlBNwt36M01-Qby2jByMnk,14
17
+ qe_api_client-1.2.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.1.1)
2
+ Generator: setuptools (71.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,14 +0,0 @@
1
- qe_api_client/__init__.py,sha256=bypB4CIjpHtf5Pu_NwtJajC69zqQD7qB9jo8cCX0B54,23
2
- qe_api_client/engine.py,sha256=OKYxlPh4ley5g4ATfOqLxycg-ysAGiT5F1A0Ub8JAK4,6797
3
- qe_api_client/engine_app_api.py,sha256=_BE39CeNhe9j5wChMdObgz7-3WSKSYF9yx-nixpfzkw,40267
4
- qe_api_client/engine_communicator.py,sha256=Va8Kz4cN6uyKLzV3JllBw08KbU4uDn8e-5pIm5Kmsfs,1291
5
- qe_api_client/engine_field_api.py,sha256=L9a6sqQNmtoi8fnZfLBewbflbGg5RRA1CfCXkejnuNw,3166
6
- qe_api_client/engine_generic_object_api.py,sha256=s0yIqDhaWkRzNYQDDTYQKJkuEevl9xVaPnBT7uxBinc,4128
7
- qe_api_client/engine_global_api.py,sha256=CTHsmA-QG6Hoq_XOEJGQTg0ddslkG9s1f0Zzc8a9e54,20831
8
- qe_api_client/engine_helper.py,sha256=gxaTFU06YMGwXloxv3Sku6PbhDmTw_jEZdX9w-gfw5c,2337
9
- qe_api_client/structs.py,sha256=YHxIurQjmWWEZ-F3kZ_kQHkoWiVAqCpZB7k6hlioOxU,3709
10
- qe_api_client-1.0.0.dist-info/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
11
- qe_api_client-1.0.0.dist-info/METADATA,sha256=GoPkVED7pdyfB9gvlg2qfwPSTyCMPffoh8zAJIpzXrY,1376
12
- qe_api_client-1.0.0.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
13
- qe_api_client-1.0.0.dist-info/top_level.txt,sha256=m_43YagP8UtZgJHmZEfu0vlBNwt36M01-Qby2jByMnk,14
14
- qe_api_client-1.0.0.dist-info/RECORD,,