dn-scribe commited on
Commit
338aa06
·
unverified ·
1 Parent(s): 323c138

feat: support findings table

Browse files
.vscode/launch.json CHANGED
@@ -44,6 +44,22 @@
44
  "env": {
45
  "SCRIBE_TOKEN": "${env:SCRIBE_DEV_TOKEN}",
46
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  }
48
 
49
  ]
 
44
  "env": {
45
  "SCRIBE_TOKEN": "${env:SCRIBE_DEV_TOKEN}",
46
  }
47
+ },
48
+ {
49
+ "name": "Test findings dataset",
50
+ "type": "debugpy",
51
+ "request": "launch",
52
+ "module": "scribe_python_client.cli",
53
+ "console": "internalConsole",
54
+ "args": [
55
+ "--api-call",
56
+ "query-findings",
57
+ "--query",
58
+ "{\"columns\": [\"logical_app\", \"finding\"], \"filters\": [], \"orderby\": [], \"row_limit\": 10}",
59
+ ],
60
+ "env": {
61
+ "SCRIBE_TOKEN": "${env:SCRIBE_TOKEN}",
62
+ }
63
  }
64
 
65
  ]
scribe_python_client/cli.py CHANGED
@@ -20,6 +20,7 @@ def main():
20
  "query-policy-results",
21
  "query-lineage",
22
  "query-risk",
 
23
  ], help="Which API call to execute")
24
  parser.add_argument("--api-token", required=False, default=os.getenv('SCRIBE_TOKEN'), help="Your API token from ScribeHub integrations page (defaults to SCRIBE_TOKEN environment variable)")
25
  parser.add_argument("--env", default="prod", choices=["prod", "dev", "test", "ci"], help="Which environment to use")
@@ -82,6 +83,8 @@ def main():
82
  # logging.info(f"Lineage graph saved to {args.lineage_graph_file}")
83
  elif args.api_call == "query-risk":
84
  print(client.query_risk(querystr=args.query))
 
 
85
 
86
  if __name__ == "__main__":
87
  main()
 
20
  "query-policy-results",
21
  "query-lineage",
22
  "query-risk",
23
+ "query-findings",
24
  ], help="Which API call to execute")
25
  parser.add_argument("--api-token", required=False, default=os.getenv('SCRIBE_TOKEN'), help="Your API token from ScribeHub integrations page (defaults to SCRIBE_TOKEN environment variable)")
26
  parser.add_argument("--env", default="prod", choices=["prod", "dev", "test", "ci"], help="Which environment to use")
 
83
  # logging.info(f"Lineage graph saved to {args.lineage_graph_file}")
84
  elif args.api_call == "query-risk":
85
  print(client.query_risk(querystr=args.query))
86
+ elif args.api_call == "query-findings":
87
+ print(client.query_findings(querystr=args.query))
88
 
89
  if __name__ == "__main__":
90
  main()
scribe_python_client/client.py CHANGED
@@ -15,7 +15,8 @@ from .constants import (
15
  SCRIBE_POLICY_DATASET,
16
  SCRIBE_TEAM_STAT_DATASET,
17
  SCRIBE_LINEAGE_DATASET,
18
- SCRIBE_RISK_DATASET
 
19
  )
20
 
21
  class ScribeClient:
@@ -25,6 +26,7 @@ class ScribeClient:
25
  scribe_team_stat_dataset = SCRIBE_TEAM_STAT_DATASET
26
  scribe_lineage_dataset=SCRIBE_LINEAGE_DATASET
27
  scribe_risk_dataset = SCRIBE_RISK_DATASET
 
28
 
29
  def get_chache_data(self):
30
  return {
@@ -1067,11 +1069,20 @@ class ScribeClient:
1067
  return f"{title}\n{self.format_query_result_table(r)}"
1068
  return "Error running query"
1069
 
1070
- def query_risk(self, querystr, title="", graph_filename=None) -> str:
1071
  logging.debug(f"Query risk table with: {querystr}")
1072
  query = self.querystr_to_json(querystr)
1073
  if query:
1074
  r = self.query_superset(self.scribe_risk_dataset, query, time_tokens=["timestamp"])
1075
  if r:
1076
  return f"{title}\n{self.format_query_result_table(r)}"
 
 
 
 
 
 
 
 
 
1077
  return "Error running query"
 
15
  SCRIBE_POLICY_DATASET,
16
  SCRIBE_TEAM_STAT_DATASET,
17
  SCRIBE_LINEAGE_DATASET,
18
+ SCRIBE_RISK_DATASET,
19
+ SCRIBE_FINDINGS_DATASET
20
  )
21
 
22
  class ScribeClient:
 
26
  scribe_team_stat_dataset = SCRIBE_TEAM_STAT_DATASET
27
  scribe_lineage_dataset=SCRIBE_LINEAGE_DATASET
28
  scribe_risk_dataset = SCRIBE_RISK_DATASET
29
+ scribe_findings_dataset = SCRIBE_FINDINGS_DATASET
30
 
31
  def get_chache_data(self):
32
  return {
 
1069
  return f"{title}\n{self.format_query_result_table(r)}"
1070
  return "Error running query"
1071
 
1072
+ def query_risk(self, querystr, title="") -> str:
1073
  logging.debug(f"Query risk table with: {querystr}")
1074
  query = self.querystr_to_json(querystr)
1075
  if query:
1076
  r = self.query_superset(self.scribe_risk_dataset, query, time_tokens=["timestamp"])
1077
  if r:
1078
  return f"{title}\n{self.format_query_result_table(r)}"
1079
+ return "Error running query"
1080
+
1081
+ def query_findings(self, querystr, title="") -> str:
1082
+ logging.debug(f"Query finding table with: {querystr}")
1083
+ query = self.querystr_to_json(querystr)
1084
+ if query:
1085
+ r = self.query_superset(self.scribe_findings_dataset, query, time_tokens=["timestamp"])
1086
+ if r:
1087
+ return f"{title}\n{self.format_query_result_table(r)}"
1088
  return "Error running query"
scribe_python_client/constants.py CHANGED
@@ -3,4 +3,5 @@ SCRIBE_PRODUCTS_DATASET = "asbom_filtered"
3
  SCRIBE_POLICY_DATASET = "policy_initiative"
4
  SCRIBE_TEAM_STAT_DATASET = "MARKETING Team activity"
5
  SCRIBE_LINEAGE_DATASET = "extended_lineage_new"
6
- SCRIBE_RISK_DATASET = "product_risk_1.0"
 
 
3
  SCRIBE_POLICY_DATASET = "policy_initiative"
4
  SCRIBE_TEAM_STAT_DATASET = "MARKETING Team activity"
5
  SCRIBE_LINEAGE_DATASET = "extended_lineage_new"
6
+ SCRIBE_RISK_DATASET = "product_risk_1.0"
7
+ SCRIBE_FINDINGS_DATASET = "Findings"