In [1]:
import sys
sys.path.append("../app")

from webview import WebView
from webview.run import Run
from webview.utils import Utils

url = 'https://localhost:9443/kepler'

# disable ssl verify warnings
import requests
requests.packages.urllib3.disable_warnings()

In [2]:
webview = WebView(username='crawl', password='test', debug=False)

# search for workflow named 'parameters'
runs = webview.runs(name='parameters')

# display parameters used in each workflow run
runs.parameters()


Out[2]:
[{'name': 'parameters',
  'parameters': {'s': 'hello world', 'x': '1', 'y': '20'}},
 {'name': 'parameters', 'parameters': {'s': 'goodbye', 'x': '1', 'y': '-20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '-20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '2', 'y': '20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '99', 'y': '20'}}]

In [3]:
# search for single parameter
webview.runs(name='parameters', parameters='x == 1').parameters()


Out[3]:
[{'name': 'parameters',
  'parameters': {'s': 'hello world', 'x': '1', 'y': '20'}},
 {'name': 'parameters', 'parameters': {'s': 'goodbye', 'x': '1', 'y': '-20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '-20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '20'}}]

In [4]:
# search for multiple parameters using && or ||
webview.runs(name='parameters', parameters='x == 1 && y == 20').parameters()


Out[4]:
[{'name': 'parameters',
  'parameters': {'s': 'hello world', 'x': '1', 'y': '20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '20'}}]

In [5]:
# search for multiple parameters
webview.runs(name='parameters', parameters='y < x').parameters()


Out[5]:
[{'name': 'parameters', 'parameters': {'s': 'goodbye', 'x': '1', 'y': '-20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '-20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '99', 'y': '20'}}]

In [6]:
# search for string parameters
webview.runs(name='parameters', parameters='s.equals("hello")').parameters()


Out[6]:
[{'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '-20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '2', 'y': '20'}},
 {'name': 'parameters', 'parameters': {'s': 'hello', 'x': '99', 'y': '20'}}]

In [7]:
# search for multiple parameters of different types
webview.runs(name='parameters', parameters='s.equals("hello") && x + y == -19').parameters()


Out[7]:
[{'name': 'parameters', 'parameters': {'s': 'hello', 'x': '1', 'y': '-20'}}]

In [ ]: