aepp 0.4.3.post3__py3-none-any.whl → 0.5.0.post1__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.
aepp/__version__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.4.3-3"
1
+ __version__ = "0.5.0-1"
aepp/cli/__main__.py CHANGED
@@ -37,8 +37,6 @@ class ServiceShell(cmd.Cmd):
37
37
  if not config_path.is_absolute():
38
38
  config_path = Path.cwd() / config_path
39
39
  if config_path.exists() and kwargs.get("config_file") is not None:
40
- print("Loading configuration from file...")
41
- print(f"Config path: {config_path}")
42
40
  dict_config = json.load(FileIO(config_path))
43
41
  self.sandbox = kwargs.get("sandbox",dict_config.get("sandbox-name","prod"))
44
42
  self.secret = dict_config.get("secret",kwargs.get("secret"))
@@ -51,10 +49,9 @@ class ServiceShell(cmd.Cmd):
51
49
  self.org_id = kwargs.get("org_id")
52
50
  self.client_id = kwargs.get("client_id")
53
51
  self.scopes = kwargs.get("scopes")
54
- print(f"Debug: sandbox={self.sandbox}, secret={self.secret}, org_id={self.org_id}, client_id={self.client_id}, scopes={self.scopes}")
55
52
  self.connectInstance = True
56
53
  if self.sandbox is not None and self.secret is not None and self.org_id is not None and self.client_id is not None and self.scopes is not None:
57
- print("Auto-configuring connection...")
54
+ print("Configuring connection...")
58
55
  self.config = aepp.configure(
59
56
  connectInstance=self.connectInstance,
60
57
  sandbox=self.sandbox,
@@ -115,7 +112,7 @@ class ServiceShell(cmd.Cmd):
115
112
  if args.sandbox:
116
113
  self.config.setSandbox(args.sandbox)
117
114
  self.prompt = f"{self.config.sandbox}> "
118
- console.print(Panel(f"Sandbox changed to: {self.config.sandbox}", style="blue"))
115
+ console.print(Panel(f"Sandbox changed to: [bold green]{self.config.sandbox}[/bold green]", style="blue"))
119
116
  else:
120
117
  console.print(Panel("(!) You must configure the connection first using the 'config' command.", style="red"))
121
118
 
@@ -877,6 +874,8 @@ class ServiceShell(cmd.Cmd):
877
874
  runs_by_flow[flow_id]["failed_runs"] += 1
878
875
  elif status == "success":
879
876
  runs_by_flow[flow_id]["success_runs"] += 1
877
+ elif status == "partialSuccess":
878
+ runs_by_flow[flow_id]["partial_success"] += 1
880
879
  report_flows = []
881
880
  for fl in list_flows:
882
881
  obj = {
@@ -904,6 +903,7 @@ class ServiceShell(cmd.Cmd):
904
903
  obj["Total Runs"] = run_info.get("total_runs",0)
905
904
  obj["Failed Runs"] = run_info.get("failed_runs",0)
906
905
  obj["Successful Runs"] = run_info.get("success_runs",0)
906
+ obj["Partial Success Runs"] = run_info.get("partial_success",0)
907
907
  report_flows.append(obj)
908
908
  df_flows = pd.DataFrame(list_flows)
909
909
  filename = f"{self.config.sandbox}_flows_{timereference/1000}"
@@ -918,19 +918,21 @@ class ServiceShell(cmd.Cmd):
918
918
  table = Table(title=f"Flows in Sandbox: {self.config.sandbox}")
919
919
  table.add_column("ID", style="cyan")
920
920
  table.add_column("Name", style="magenta")
921
- table.add_column("Created", style="white")
922
921
  table.add_column("Type", style="white")
923
- table.add_column("Transformation", style="white")
924
922
  if args.advanced == False:
923
+ table.add_column("Created", style="white")
924
+ table.add_column("Transformation", style="white")
925
925
  table.add_column("Flow Spec", style="white")
926
926
  table.add_column("Source Conn ID", style="white")
927
927
  table.add_column("Target Conn ID", style="white")
928
928
  if args.advanced:
929
929
  table.add_column("Total Runs", style="blue")
930
- table.add_column("Failed Runs", style="red")
931
- table.add_column("Successful Runs", style="green")
930
+ table.add_column("Successful", style="green")
931
+ table.add_column("Failed", style="red")
932
+ table.add_columns("Partial Success", style='orange')
932
933
  table.add_column("Success Rate", style="green")
933
934
  table.add_column("Failure Rate", style="red")
935
+
934
936
  for fl in report_flows:
935
937
  row_data = []
936
938
  if args.advanced:
@@ -946,26 +948,31 @@ class ServiceShell(cmd.Cmd):
946
948
  row_data = [
947
949
  f"{colorStart}{fl.get('id','N/A')}{colorEnd}",
948
950
  f"{colorStart}{fl.get('name','N/A')}{colorEnd}",
949
- f"{colorStart}{datetime.fromtimestamp(fl.get('created',1000)/1000).isoformat().split('T')[0]}{colorEnd}",
950
951
  f"{colorStart}{fl.get('type','N/A')}{colorEnd}",
951
- f"{colorStart}{str(fl.get('Transformation', False))}{colorEnd}",
952
952
  ]
953
953
  if args.advanced == False:
954
954
  row_data.extend([
955
+ f"{colorStart}{datetime.fromtimestamp(fl.get('created',1000)/1000).isoformat().split('T')[0]}{colorEnd}",
956
+ f"{colorStart}{str(fl.get('Transformation', False))}{colorEnd}",
955
957
  f"{colorStart}{fl.get('flowSpec','N/A')}{colorEnd}",
956
958
  f"{colorStart}{fl.get('sourceConnectionId','N/A')}{colorEnd}",
957
959
  f"{colorStart}{fl.get('targetConnectionId','N/A')}{colorEnd}",
958
960
  ])
959
961
  if args.advanced:
960
962
  total_runs = fl.get("Total Runs", 0)
961
- failed_runs = fl.get("Failed Runs", 0)
962
963
  successful_runs = fl.get("Successful Runs", 0)
964
+ failed_runs = fl.get("Failed Runs", 0)
965
+ partial_success = fl.get('Partial Success Runs',0)
966
+ if partialpartial_success>0:
967
+ partialColorStart = "[orange]"
968
+ partialColorEnd = "[/orange]"
963
969
  success_rate = (successful_runs / total_runs * 100) if total_runs > 0 else 0
964
970
  failure_rate = (failed_runs / total_runs * 100) if total_runs > 0 else 0
965
971
  row_data.extend([
966
972
  f"{colorStart}{str(total_runs)}{colorEnd}",
967
- f"{colorStart}{str(failed_runs)}{colorEnd}",
968
973
  f"{colorStart}{str(successful_runs)}{colorEnd}",
974
+ f"{colorStart}{str(failed_runs)}{colorEnd}",
975
+ f"{partialColorStart}{str(partial_success)}{partialColorEnd}"
969
976
  f"{colorStart}{success_rate:.0f}%{colorEnd}",
970
977
  f"{colorStart}{failure_rate:.0f}%{colorEnd}"
971
978
  ])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aepp
3
- Version: 0.4.3.post3
3
+ Version: 0.5.0.post1
4
4
  Summary: Package to manage AEP API endpoint and some helper functions
5
5
  Author-email: Julien Piccini <piccini.julien@gmail.com>
6
6
  License: Apache-2.0
@@ -1,5 +1,5 @@
1
1
  aepp/__init__.py,sha256=tKlipgknDl84iALUNgR9mktILF3gSk1GgMUw_Gg-HXE,27912
2
- aepp/__version__.py,sha256=lYwnz-hLrTYqjtFY-Bv6scJqo3PcuBsGf92TLHa2rzo,23
2
+ aepp/__version__.py,sha256=xWPCQGgNpIluAS53pZta25zFqYhwH0Pe4Cxy8U-jqjY,23
3
3
  aepp/accesscontrol.py,sha256=PB3FcrO4bvDjdNxjHx7p_20hp4ahBXewoOSxuTGMXC8,17423
4
4
  aepp/catalog.py,sha256=hK9m3SAP0fhgkYqu14Tcfq14qBhw54tLCOF0mH31b1M,68237
5
5
  aepp/classmanager.py,sha256=CTYGkg5ygB8HtRia6DfT9WLBqXJOVg7pSM9jBB25Bqw,64707
@@ -35,10 +35,10 @@ aepp/synchronizer.py,sha256=iG-E--HcxXFIW046Jzu4NAexcAoIAZOOWK4X_ra_9zg,77960
35
35
  aepp/tags.py,sha256=t2qBallTcWR4IOXcDBmrPpqjbSay1z3E2bcRijzVm1s,17641
36
36
  aepp/utils.py,sha256=tG-YVXylm38-bynqfp5N_Mzyo7mhlZj-dLo7wLoO4tM,1200
37
37
  aepp/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- aepp/cli/__main__.py,sha256=0gFm4dwfLsVDTkN8cFMqtDqmaVoz7eG0BZ0avgCgzNI,65696
39
- aepp-0.4.3.post3.dist-info/licenses/LICENSE,sha256=HjYTlfne3BbS5gNHzNqJ5COCiTQLUdf87QkzRyFbE4Y,10337
40
- aepp-0.4.3.post3.dist-info/METADATA,sha256=AbYZNMOP6qL2aB2brlYBPBBXKAccC8UIuS58P_gUlA4,5317
41
- aepp-0.4.3.post3.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
42
- aepp-0.4.3.post3.dist-info/entry_points.txt,sha256=e7HAumUTymoUiCuVRzFlcchennUBLcjxvuiimySF98Y,48
43
- aepp-0.4.3.post3.dist-info/top_level.txt,sha256=dtZJI8SzhWVgZRl68PHKZX_fD6amvDiFR-lqD9FSJvE,5
44
- aepp-0.4.3.post3.dist-info/RECORD,,
38
+ aepp/cli/__main__.py,sha256=rXFgg2kcTkA4H-yy0EJzo-ekmX3Qh6PJt_jx-xXwI5c,66090
39
+ aepp-0.5.0.post1.dist-info/licenses/LICENSE,sha256=HjYTlfne3BbS5gNHzNqJ5COCiTQLUdf87QkzRyFbE4Y,10337
40
+ aepp-0.5.0.post1.dist-info/METADATA,sha256=3ivVWTkX_kawF85OCxZksdLbfZBdG5p3zy1owaSDSaA,5317
41
+ aepp-0.5.0.post1.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
42
+ aepp-0.5.0.post1.dist-info/entry_points.txt,sha256=e7HAumUTymoUiCuVRzFlcchennUBLcjxvuiimySF98Y,48
43
+ aepp-0.5.0.post1.dist-info/top_level.txt,sha256=dtZJI8SzhWVgZRl68PHKZX_fD6amvDiFR-lqD9FSJvE,5
44
+ aepp-0.5.0.post1.dist-info/RECORD,,