pyegeria 0.8.2__py3-none-any.whl → 0.8.4__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.
@@ -17,55 +17,78 @@ from rich.panel import Panel
17
17
  from rich.prompt import Prompt
18
18
  from rich.tree import Tree
19
19
 
20
- from pyegeria import (ProjectManager, UserNotAuthorizedException, PropertyServerException, InvalidParameterException)
21
- from pyegeria._exceptions import (print_exception_response, )
20
+ from pyegeria import (
21
+ ProjectManager,
22
+ UserNotAuthorizedException,
23
+ PropertyServerException,
24
+ InvalidParameterException,
25
+ )
26
+ from pyegeria._exceptions import (
27
+ print_exception_response,
28
+ )
22
29
 
23
30
  disable_ssl_warnings = True
24
31
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
25
- EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
26
- EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
27
- EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
28
- EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
29
- EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
30
- EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
31
- EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
32
- EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
33
- EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
34
- EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
35
- EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
36
-
37
-
38
- def project_dependency_viewer(root: str, server_name: str, platform_url: str, user: str, user_password: str,
39
- jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH, timeout: int = 30):
40
- """ A simple collection viewer"""
41
-
42
- def walk_project_hierarchy(project_client: ProjectManager, project_name: str, tree: Tree,
43
- root: bool = False) -> None:
32
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
33
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
34
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
35
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
36
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
37
+ )
38
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
39
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
40
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
41
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
42
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
43
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
44
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
45
+
46
+
47
+ def project_dependency_viewer(
48
+ root: str,
49
+ server_name: str,
50
+ platform_url: str,
51
+ user: str,
52
+ user_password: str,
53
+ jupyter: bool = EGERIA_JUPYTER,
54
+ width: int = EGERIA_WIDTH,
55
+ timeout: int = 30,
56
+ ):
57
+ """A simple collection viewer"""
58
+
59
+ def walk_project_hierarchy(
60
+ project_client: ProjectManager,
61
+ project_name: str,
62
+ tree: Tree,
63
+ root: bool = False,
64
+ ) -> None:
44
65
  """Recursively build a Tree with collection contents."""
45
66
  t = None
46
67
  style = "bright_white on black"
47
68
 
48
69
  project = project_client.get_projects_by_name(project_name)
49
70
  if type(project) is list:
50
- proj_guid = project[0]['elementHeader']['guid']
51
- proj_props = project[0]['properties']
52
-
53
- proj_type = proj_props.get('typeName', '---')
54
- proj_unique = proj_props.get('qualifiedName', '---')
55
- proj_identifier = proj_props.get('identifier', '---')
56
- proj_name = proj_props.get('name', '---')
57
- proj_desc = proj_props.get('description', '---')
58
- proj_status = proj_props.get('projectStatus', '---')
59
- proj_priority = proj_props.get('priority', '---')
60
- proj_start = proj_props.get('startDate', '---')[:-10]
61
- proj_props_md = (f"* Name: {proj_name}\n"
62
- f"* Identifier: {proj_identifier}\n"
63
- f"* Type: {proj_type}\n"
64
- f"* Status: {proj_status}\n"
65
- f"* priority: {proj_priority}\n"
66
- f"* Start: {proj_start}\n"
67
- f"* Description: {proj_desc}\n"
68
- f"* GUID: {proj_guid}")
71
+ proj_guid = project[0]["elementHeader"]["guid"]
72
+ proj_props = project[0]["properties"]
73
+
74
+ proj_type = proj_props.get("typeName", "---")
75
+ proj_unique = proj_props.get("qualifiedName", "---")
76
+ proj_identifier = proj_props.get("identifier", "---")
77
+ proj_name = proj_props.get("name", "---")
78
+ proj_desc = proj_props.get("description", "---")
79
+ proj_status = proj_props.get("projectStatus", "---")
80
+ proj_priority = proj_props.get("priority", "---")
81
+ proj_start = proj_props.get("startDate", "---")[:-10]
82
+ proj_props_md = (
83
+ f"* Name: {proj_name}\n"
84
+ f"* Identifier: {proj_identifier}\n"
85
+ f"* Type: {proj_type}\n"
86
+ f"* Status: {proj_status}\n"
87
+ f"* priority: {proj_priority}\n"
88
+ f"* Start: {proj_start}\n"
89
+ f"* Description: {proj_desc}\n"
90
+ f"* GUID: {proj_guid}"
91
+ )
69
92
  else:
70
93
  return
71
94
 
@@ -73,8 +96,8 @@ def project_dependency_viewer(root: str, server_name: str, platform_url: str, us
73
96
  member_md = ""
74
97
  if type(team) is list:
75
98
  for member in team:
76
- member_guid = member['member']['guid']
77
- member_unique = member['member']['uniqueName']
99
+ member_guid = member["member"]["guid"]
100
+ member_unique = member["member"]["uniqueName"]
78
101
  member_md += f"* Member Unique Name: {member_unique}\n* Member GUID: {member_guid}"
79
102
  proj_props_md += f"\n### Team Members\n {member_md}"
80
103
 
@@ -86,10 +109,12 @@ def project_dependency_viewer(root: str, server_name: str, platform_url: str, us
86
109
  if type(linked_projects) is list:
87
110
  for proj in linked_projects:
88
111
  child_md = ""
89
- child_guid = proj['elementHeader']['guid']
90
- child_name = proj['properties']['name']
91
- relationship = proj['relatedElement']['relationshipHeader']['type']['typeName']
92
- if relationship != 'ProjectDependency':
112
+ child_guid = proj["elementHeader"]["guid"]
113
+ child_name = proj["properties"]["name"]
114
+ relationship = proj["relatedElement"]["relationshipHeader"]["type"][
115
+ "typeName"
116
+ ]
117
+ if relationship != "ProjectDependency":
93
118
  continue
94
119
  walk_project_hierarchy(project_client, child_name, t)
95
120
 
@@ -98,7 +123,9 @@ def project_dependency_viewer(root: str, server_name: str, platform_url: str, us
98
123
 
99
124
  try:
100
125
  console = Console(width=width, force_terminal=not jupyter)
101
- tree = Tree(f"[bold bright green on black]{root}", guide_style="bold bright_blue")
126
+ tree = Tree(
127
+ f"[bold bright green on black]{root}", guide_style="bold bright_blue"
128
+ )
102
129
  p_client = ProjectManager(server_name, platform_url, user_id=user)
103
130
 
104
131
  token1 = p_client.create_egeria_bearer_token(user, user_password)
@@ -106,7 +133,11 @@ def project_dependency_viewer(root: str, server_name: str, platform_url: str, us
106
133
  walk_project_hierarchy(p_client, root, tree, root=True)
107
134
  print(tree)
108
135
 
109
- except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
136
+ except (
137
+ InvalidParameterException,
138
+ PropertyServerException,
139
+ UserNotAuthorizedException,
140
+ ) as e:
110
141
  print_exception_response(e)
111
142
 
112
143
 
@@ -125,9 +156,11 @@ def main():
125
156
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
126
157
 
127
158
  try:
128
- root_project = Prompt.ask("Enter the Root Project to start from:", default="Sustainability Campaign")
159
+ root_project = Prompt.ask(
160
+ "Enter the Root Project to start from:", default="Sustainability Campaign"
161
+ )
129
162
  project_dependency_viewer(root_project, server, url, userid, user_pass)
130
- except (KeyboardInterrupt):
163
+ except KeyboardInterrupt:
131
164
  pass
132
165
 
133
166
 
@@ -17,55 +17,78 @@ from rich.panel import Panel
17
17
  from rich.prompt import Prompt
18
18
  from rich.tree import Tree
19
19
 
20
- from pyegeria import (ProjectManager, UserNotAuthorizedException, PropertyServerException, InvalidParameterException)
21
- from pyegeria._exceptions import (print_exception_response, )
20
+ from pyegeria import (
21
+ ProjectManager,
22
+ UserNotAuthorizedException,
23
+ PropertyServerException,
24
+ InvalidParameterException,
25
+ )
26
+ from pyegeria._exceptions import (
27
+ print_exception_response,
28
+ )
22
29
 
23
30
  disable_ssl_warnings = True
24
31
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
25
- EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
26
- EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
27
- EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
28
- EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
29
- EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
30
- EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
31
- EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
32
- EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
33
- EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
34
- EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
35
- EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
36
-
37
-
38
- def project_structure_viewer(root: str, server_name: str, platform_url: str, user: str, user_password: str,
39
- jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH, timeout: int = 30):
40
- """ A simple collection viewer"""
41
-
42
- def walk_project_hierarchy(project_client: ProjectManager, project_name: str, tree: Tree,
43
- root: bool = False) -> None:
32
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
33
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
34
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
35
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
36
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
37
+ )
38
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
39
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
40
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
41
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
42
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
43
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
44
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
45
+
46
+
47
+ def project_structure_viewer(
48
+ root: str,
49
+ server_name: str,
50
+ platform_url: str,
51
+ user: str,
52
+ user_password: str,
53
+ jupyter: bool = EGERIA_JUPYTER,
54
+ width: int = EGERIA_WIDTH,
55
+ timeout: int = 30,
56
+ ):
57
+ """A simple collection viewer"""
58
+
59
+ def walk_project_hierarchy(
60
+ project_client: ProjectManager,
61
+ project_name: str,
62
+ tree: Tree,
63
+ root: bool = False,
64
+ ) -> None:
44
65
  """Recursively build a Tree with collection contents."""
45
66
  t = None
46
67
  style = "bright_white on black"
47
68
 
48
69
  project = project_client.get_projects_by_name(project_name)
49
70
  if type(project) is list:
50
- proj_guid = project[0]['elementHeader']['guid']
51
- proj_props = project[0]['properties']
52
-
53
- proj_type = proj_props.get('typeName', '---')
54
- proj_unique = proj_props.get('qualifiedName', '---')
55
- proj_identifier = proj_props.get('identifier', '---')
56
- proj_name = proj_props.get('name', '---')
57
- proj_desc = proj_props.get('description', '---')
58
- proj_status = proj_props.get('projectStatus', '---')
59
- proj_priority = proj_props.get('priority', '---')
60
- proj_start = proj_props.get('startDate', '---')[:-10]
61
- proj_props_md = (f"* Name: {proj_name}\n"
62
- f"* Identifier: {proj_identifier}\n"
63
- f"* Type: {proj_type}\n"
64
- f"* Status: {proj_status}\n"
65
- f"* priority: {proj_priority}\n"
66
- f"* Start: {proj_start}\n"
67
- f"* Description: {proj_desc}\n"
68
- f"* GUID: {proj_guid}")
71
+ proj_guid = project[0]["elementHeader"]["guid"]
72
+ proj_props = project[0]["properties"]
73
+
74
+ proj_type = proj_props.get("typeName", "---")
75
+ proj_unique = proj_props.get("qualifiedName", "---")
76
+ proj_identifier = proj_props.get("identifier", "---")
77
+ proj_name = proj_props.get("name", "---")
78
+ proj_desc = proj_props.get("description", "---")
79
+ proj_status = proj_props.get("projectStatus", "---")
80
+ proj_priority = proj_props.get("priority", "---")
81
+ proj_start = proj_props.get("startDate", "---")[:-10]
82
+ proj_props_md = (
83
+ f"* Name: {proj_name}\n"
84
+ f"* Identifier: {proj_identifier}\n"
85
+ f"* Type: {proj_type}\n"
86
+ f"* Status: {proj_status}\n"
87
+ f"* priority: {proj_priority}\n"
88
+ f"* Start: {proj_start}\n"
89
+ f"* Description: {proj_desc}\n"
90
+ f"* GUID: {proj_guid}"
91
+ )
69
92
  else:
70
93
  return
71
94
 
@@ -73,8 +96,8 @@ def project_structure_viewer(root: str, server_name: str, platform_url: str, use
73
96
  member_md = ""
74
97
  if type(team) is list:
75
98
  for member in team:
76
- member_guid = member['member']['guid']
77
- member_unique = member['member']['uniqueName']
99
+ member_guid = member["member"]["guid"]
100
+ member_unique = member["member"]["uniqueName"]
78
101
  member_md += f"* Member Unique Name: {member_unique}\n* Member GUID: {member_guid}"
79
102
  proj_props_md += f"\n### Team Members\n {member_md}"
80
103
 
@@ -86,10 +109,12 @@ def project_structure_viewer(root: str, server_name: str, platform_url: str, use
86
109
  if type(linked_projects) is list:
87
110
  for proj in linked_projects:
88
111
  child_md = ""
89
- child_guid = proj['elementHeader']['guid']
90
- child_name = proj['properties']['name']
91
- relationship = proj['relatedElement']['relationshipHeader']['type']['typeName']
92
- if relationship != 'ProjectHierarchy':
112
+ child_guid = proj["elementHeader"]["guid"]
113
+ child_name = proj["properties"]["name"]
114
+ relationship = proj["relatedElement"]["relationshipHeader"]["type"][
115
+ "typeName"
116
+ ]
117
+ if relationship != "ProjectHierarchy":
93
118
  continue
94
119
  walk_project_hierarchy(project_client, child_name, t)
95
120
 
@@ -98,7 +123,9 @@ def project_structure_viewer(root: str, server_name: str, platform_url: str, use
98
123
 
99
124
  try:
100
125
  console = Console(width=width, force_terminal=not jupyter)
101
- tree = Tree(f"[bold bright green on black]{root}", guide_style="bold bright_blue")
126
+ tree = Tree(
127
+ f"[bold bright green on black]{root}", guide_style="bold bright_blue"
128
+ )
102
129
  p_client = ProjectManager(server_name, platform_url, user_id=user)
103
130
 
104
131
  token1 = p_client.create_egeria_bearer_token(user, user_password)
@@ -106,7 +133,11 @@ def project_structure_viewer(root: str, server_name: str, platform_url: str, use
106
133
  walk_project_hierarchy(p_client, root, tree, root=True)
107
134
  print(tree)
108
135
 
109
- except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
136
+ except (
137
+ InvalidParameterException,
138
+ PropertyServerException,
139
+ UserNotAuthorizedException,
140
+ ) as e:
110
141
  print_exception_response(e)
111
142
 
112
143
 
@@ -125,9 +156,11 @@ def main():
125
156
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
126
157
 
127
158
  try:
128
- root_project = Prompt.ask("Enter the Root Project to start from:", default="Sustainability Campaign")
159
+ root_project = Prompt.ask(
160
+ "Enter the Root Project to start from:", default="Sustainability Campaign"
161
+ )
129
162
  project_structure_viewer(root_project, server, url, userid, user_pass)
130
- except (KeyboardInterrupt):
163
+ except KeyboardInterrupt:
131
164
  pass
132
165
 
133
166
 
@@ -28,26 +28,38 @@ from pyegeria import (
28
28
  from pyegeria.my_profile_omvs import MyProfile
29
29
 
30
30
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
31
- EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
32
- EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
33
- EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
34
- EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
35
- EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
36
- EGERIA_INTEGRATION_DAEMON_URL = os.environ.get('EGERIA_INTEGRATION_DAEMON_URL', 'https://localhost:9443')
37
- EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
38
- EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
39
- EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
40
- EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
41
- EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
42
- EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
43
-
44
- def display_to_dos(search_string: str, status_filter: str, server: str, url: str, username: str, user_pass:str,
45
- jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH):
46
-
31
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
32
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
33
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
34
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
35
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
36
+ )
37
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
38
+ EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
39
+ "EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
40
+ )
41
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
42
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
43
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
44
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
45
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
46
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
47
+
48
+
49
+ def display_to_dos(
50
+ search_string: str,
51
+ status_filter: str,
52
+ server: str,
53
+ url: str,
54
+ username: str,
55
+ user_pass: str,
56
+ jupyter: bool = EGERIA_JUPYTER,
57
+ width: int = EGERIA_WIDTH,
58
+ ):
47
59
  m_client = MyProfile(server, url, user_id=username)
48
60
  token = m_client.create_egeria_bearer_token(username, user_pass)
49
61
 
50
- def generate_table(search_string:str = '*') -> Table:
62
+ def generate_table(search_string: str = "*") -> Table:
51
63
  """Make a new table."""
52
64
  table = Table(
53
65
  title=f"Open ToDos for Platform {url} @ {time.asctime()}",
@@ -56,7 +68,7 @@ def display_to_dos(search_string: str, status_filter: str, server: str, url: str
56
68
  show_lines=True,
57
69
  box=box.ROUNDED,
58
70
  caption=f"ToDos for Server '{server}' @ Platform - {url}",
59
- expand=True
71
+ expand=True,
60
72
  )
61
73
 
62
74
  table.add_column("Name")
@@ -70,7 +82,7 @@ def display_to_dos(search_string: str, status_filter: str, server: str, url: str
70
82
  table.add_column("Sponsor")
71
83
  table.add_column("Assigned")
72
84
 
73
- todo_items = m_client.find_to_do(search_string,status = status_filter)
85
+ todo_items = m_client.find_to_do(search_string, status=status_filter)
74
86
 
75
87
  if type(todo_items) is str:
76
88
  name = " "
@@ -82,10 +94,10 @@ def display_to_dos(search_string: str, status_filter: str, server: str, url: str
82
94
 
83
95
  status = " "
84
96
  sponsor = " "
85
- assigned_out = ''
97
+ assigned_out = ""
86
98
  else:
87
99
  for item in todo_items:
88
- guid = item['elementHeader']['guid']
100
+ guid = item["elementHeader"]["guid"]
89
101
  props = item["properties"]
90
102
  name = props["name"]
91
103
  type_name = props.get("toDoType", " ")
@@ -93,12 +105,12 @@ def display_to_dos(search_string: str, status_filter: str, server: str, url: str
93
105
  priority = str(props.get("priority", " "))
94
106
  due = props.get("dueTime", " ")[:-19]
95
107
  completed = props.get("completionTime", " ")[:-10]
96
- status = props.get("toDoStatus", '---')
108
+ status = props.get("toDoStatus", "---")
97
109
 
98
- assigned_out = ''
99
- assigned_actors = item.get("assignedActors",'---')
110
+ assigned_out = ""
111
+ assigned_actors = item.get("assignedActors", "---")
100
112
  if type(assigned_actors) is list:
101
- assigned_md = ''
113
+ assigned_md = ""
102
114
  for actor in assigned_actors:
103
115
  assigned_md += f"* {actor['uniqueName'].split(',')[0]}\n"
104
116
  assigned_out = Markdown(assigned_md)
@@ -112,7 +124,16 @@ def display_to_dos(search_string: str, status_filter: str, server: str, url: str
112
124
  status = f"[red]{status}"
113
125
 
114
126
  table.add_row(
115
- name, type_name, guid, created, priority, due, completed, status, sponsor, assigned_out
127
+ name,
128
+ type_name,
129
+ guid,
130
+ created,
131
+ priority,
132
+ due,
133
+ completed,
134
+ status,
135
+ sponsor,
136
+ assigned_out,
116
137
  )
117
138
 
118
139
  m_client.close_session()
@@ -125,11 +146,13 @@ def display_to_dos(search_string: str, status_filter: str, server: str, url: str
125
146
  # live.update(generate_table())
126
147
  console = Console(width=width, force_terminal=not jupyter)
127
148
  with console.pager():
128
-
129
149
  console.print(generate_table(search_string))
130
150
 
131
-
132
- except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
151
+ except (
152
+ InvalidParameterException,
153
+ PropertyServerException,
154
+ UserNotAuthorizedException,
155
+ ) as e:
133
156
  print_exception_response(e)
134
157
  except KeyboardInterrupt:
135
158
  pass
@@ -152,12 +175,15 @@ def main():
152
175
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
153
176
  try:
154
177
  search_string = Prompt.ask("Enter the ToDo you are searching for", default="*")
155
- status_filter = Prompt.ask("Enter an optional status filter ['OPEN','IN_PROGRESS','WAITING','COMPLETE',"
156
- "'ABANDONED', 'None']", default=None)
157
- display_to_dos(search_string, status_filter,server, url, userid, user_pass)
178
+ status_filter = Prompt.ask(
179
+ "Enter an optional status filter ['OPEN','IN_PROGRESS','WAITING','COMPLETE',"
180
+ "'ABANDONED', 'None']",
181
+ default=None,
182
+ )
183
+ display_to_dos(search_string, status_filter, server, url, userid, user_pass)
158
184
  except KeyboardInterrupt:
159
185
  pass
160
186
 
161
187
 
162
188
  if __name__ == "__main__":
163
- main()
189
+ main()