1+ """Demonstrates how to use the `Dashboards` service."""
2+
13from pprint import pprint
24from configparser import ConfigParser
35from powerbi .client import PowerBiClient
68config = ConfigParser ()
79
810# Read the file.
9- config .read (' config/config.ini' )
11+ config .read (" config/config.ini" )
1012
1113# Get the specified credentials.
12- client_id = config .get (' power_bi_api' , ' client_id' )
13- redirect_uri = config .get (' power_bi_api' , ' redirect_uri' )
14- client_secret = config .get (' power_bi_api' , ' client_secret' )
14+ client_id = config .get (" power_bi_api" , " client_id" )
15+ redirect_uri = config .get (" power_bi_api" , " redirect_uri" )
16+ client_secret = config .get (" power_bi_api" , " client_secret" )
1517
1618# Initialize the Client.
1719power_bi_client = PowerBiClient (
1820 client_id = client_id ,
1921 client_secret = client_secret ,
20- scope = [' https://analysis.windows.net/powerbi/api/.default' ],
22+ scope = [" https://analysis.windows.net/powerbi/api/.default" ],
2123 redirect_uri = redirect_uri ,
22- credentials = ' config/power_bi_state.jsonc'
24+ credentials = " config/power_bi_state.jsonc" ,
2325)
2426
2527# Initialize the `Dashboards` service.
2628dashboard_service = power_bi_client .dashboards ()
2729
2830# Add a dashboard to our Workspace.
29- dashboard_service .add_dashboard (name = ' tradingRobot' )
31+ dashboard_service .add_dashboard (name = " tradingRobot" )
3032
3133# Get all the dashboards in our Org.
3234pprint (dashboard_service .get_dashboards ())
3335
3436# Grab all the dashboards for a specific workspace.
3537pprint (
36- dashboard_service .get_dashboard (
37- dashboard_id = 'bf2c7d16-ec7b-40a2-ab56-f8797fdc5fb8'
38- )
38+ dashboard_service .get_dashboard (dashboard_id = "bf2c7d16-ec7b-40a2-ab56-f8797fdc5fb8" )
3939)
4040
4141# Add a dashboard to a specific workspace.
4242pprint (
4343 dashboard_service .add_dashboard_in_group (
44- name = 'my_new_dashboard' ,
45- group_id = 'f78705a2-bead-4a5c-ba57-166794b05c78'
44+ name = "my_new_dashboard" , group_id = "f78705a2-bead-4a5c-ba57-166794b05c78"
4645 )
4746)
4847
4948# Grab all the dashboards for a specific workspace.
5049pprint (
5150 dashboard_service .get_group_dashboards (
52- group_id = ' f78705a2-bead-4a5c-ba57-166794b05c78'
51+ group_id = " f78705a2-bead-4a5c-ba57-166794b05c78"
5352 )
5453)
5554
5655# Grab a specific dashboard from a specific workspace.
5756pprint (
5857 dashboard_service .get_group_dashboard (
59- group_id = ' f78705a2-bead-4a5c-ba57-166794b05c78' ,
60- dashboard_id = ' 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358'
58+ group_id = " f78705a2-bead-4a5c-ba57-166794b05c78" ,
59+ dashboard_id = " 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358" ,
6160 )
6261)
6362
6463# Grab all the tiles from a dashboard.
65- pprint (
66- dashboard_service .get_tiles (
67- dashboard_id = '1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358'
68- )
69- )
64+ pprint (dashboard_service .get_tiles (dashboard_id = "1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358" ))
7065
7166# Grab all the tiles from a specific dashboard from a specific workspace.
7267pprint (
7368 dashboard_service .get_group_tiles (
74- group_id = ' f78705a2-bead-4a5c-ba57-166794b05c78' ,
75- dashboard_id = ' 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358'
69+ group_id = " f78705a2-bead-4a5c-ba57-166794b05c78" ,
70+ dashboard_id = " 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358" ,
7671 )
7772)
7873
7974# Grab a specific tile from a specific dashboard.
8075pprint (
8176 dashboard_service .get_tile (
82- dashboard_id = ' 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358' ,
83- tile_id = ' 093bfb85-828e-4705-bcf8-0126dd2d5d70'
77+ dashboard_id = " 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358" ,
78+ tile_id = " 093bfb85-828e-4705-bcf8-0126dd2d5d70" ,
8479 )
8580)
8681
8782# Grab a specific tile from a specific workspace and a specific workspace..
8883pprint (
8984 dashboard_service .get_group_tile (
90- group_id = ' f78705a2-bead-4a5c-ba57-166794b05c78' ,
91- dashboard_id = ' 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358' ,
92- tile_id = ' 093bfb85-828e-4705-bcf8-0126dd2d5d70'
85+ group_id = " f78705a2-bead-4a5c-ba57-166794b05c78" ,
86+ dashboard_id = " 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358" ,
87+ tile_id = " 093bfb85-828e-4705-bcf8-0126dd2d5d70" ,
9388 )
9489)
9590
9691# Clone a specific tile.
9792pprint (
9893 dashboard_service .clone_tile (
99- dashboard_id = ' 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358' ,
100- tile_id = ' 093bfb85-828e-4705-bcf8-0126dd2d5d70' ,
101- target_dashboard_id = ' 86cb0a0e-612d-4822-9a29-d83478e21199'
94+ dashboard_id = " 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358" ,
95+ tile_id = " 093bfb85-828e-4705-bcf8-0126dd2d5d70" ,
96+ target_dashboard_id = " 86cb0a0e-612d-4822-9a29-d83478e21199" ,
10297 )
10398)
10499
105100# Clone a specific tile from a specific workspace.
106101pprint (
107102 dashboard_service .clone_group_tile (
108- group_id = ' f78705a2-bead-4a5c-ba57-166794b05c78' ,
109- dashboard_id = ' 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358' ,
110- tile_id = ' 093bfb85-828e-4705-bcf8-0126dd2d5d70' ,
111- target_dashboard_id = ' 86cb0a0e-612d-4822-9a29-d83478e21199'
103+ group_id = " f78705a2-bead-4a5c-ba57-166794b05c78" ,
104+ dashboard_id = " 1a0a15d9-67d1-4e97-b7bd-4f0ed4ec8358" ,
105+ tile_id = " 093bfb85-828e-4705-bcf8-0126dd2d5d70" ,
106+ target_dashboard_id = " 86cb0a0e-612d-4822-9a29-d83478e21199" ,
112107 )
113- )
108+ )
0 commit comments