Skip to content

Commit

Permalink
fix(ingest/tableau): quote special characters in external URL (#10842)
Browse files Browse the repository at this point in the history
  • Loading branch information
ipolding-cais authored and yoonhyejin committed Jul 16, 2024
1 parent cedb905 commit 35457cb
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 92 deletions.
4 changes: 2 additions & 2 deletions metadata-ingestion/src/datahub/ingestion/source/tableau.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
Union,
cast,
)
from urllib.parse import urlparse
from urllib.parse import quote, urlparse

import dateutil.parser as dp
import tableauserverclient as TSC
Expand Down Expand Up @@ -2331,7 +2331,7 @@ def emit_sheets_as_charts(
# sheet contained in dashboard
site_part = f"/t/{self.config.site}" if self.config.site else ""
dashboard_path = sheet[c.CONTAINED_IN_DASHBOARDS][0][c.PATH]
sheet_external_url = f"{self.config.connect_uri}{site_part}/authoring/{dashboard_path}/{sheet.get(c.NAME, '')}"
sheet_external_url = f"{self.config.connect_uri}{site_part}/authoring/{dashboard_path}/{quote(sheet.get(c.NAME, ''), safe='')}"
else:
# hidden or viz-in-tooltip sheet
sheet_external_url = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -898,7 +898,7 @@
"customProperties": {
"luid": "f0779f9d-6765-47a9-a8f6-c740cfd27783"
},
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Timeline - Sent",
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Timeline%20-%20Sent",
"title": "Timeline - Sent",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -1180,7 +1180,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Campaign List",
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Campaign%20List",
"title": "Campaign List",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -2368,7 +2368,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Mobile - Sent by Campaign",
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Mobile%20-%20Sent%20by%20Campaign",
"title": "Mobile - Sent by Campaign",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -3560,7 +3560,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened Requests",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened%20Requests",
"title": "Opened Requests",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -4068,7 +4068,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Top 10 Items by Requests and YoY Change",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Top%2010%20Items%20by%20Requests%20and%20YoY%20Change",
"title": "Top 10 Items by Requests and YoY Change",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -4544,7 +4544,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened%20Problems",
"title": "Opened Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -5441,7 +5441,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/High and Critical Priority Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/High%20and%20Critical%20Priority%20Problems",
"title": "High and Critical Priority Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -5810,7 +5810,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Total Incidents by Category and YoY Change",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Total%20Incidents%20by%20Category%20and%20YoY%20Change",
"title": "Total Incidents by Category and YoY Change",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -6202,7 +6202,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Known Errors",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Known%20Errors",
"title": "Known Errors",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -6649,7 +6649,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue Requests",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue%20Requests",
"title": "Overdue Requests",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -7070,7 +7070,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/AVG Time to Solve an Incident",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/AVG%20Time%20to%20Solve%20an%20Incident",
"title": "AVG Time to Solve an Incident",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -7407,7 +7407,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Made SLA?",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Made%20SLA%3F",
"title": "Made SLA?",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -8035,7 +8035,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue%20Problems",
"title": "Overdue Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -9194,7 +9194,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Age of Active Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Age%20of%20Active%20Problems",
"title": "Age of Active Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -9589,7 +9589,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened Incidents",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened%20Incidents",
"title": "Opened Incidents",
"description": "",
"lastModified": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1157,7 +1157,7 @@
"customProperties": {
"luid": "f0779f9d-6765-47a9-a8f6-c740cfd27783"
},
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Timeline - Sent",
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Timeline%20-%20Sent",
"title": "Timeline - Sent",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -1439,7 +1439,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Campaign List",
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Campaign%20List",
"title": "Campaign List",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -2627,7 +2627,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Mobile - Sent by Campaign",
"externalUrl": "https://do-not-connect/t/acryl/authoring/EmailPerformancebyCampaign/EmailPerformancebyCampaign/Mobile%20-%20Sent%20by%20Campaign",
"title": "Mobile - Sent by Campaign",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -3819,7 +3819,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened Requests",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened%20Requests",
"title": "Opened Requests",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -4327,7 +4327,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Top 10 Items by Requests and YoY Change",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Top%2010%20Items%20by%20Requests%20and%20YoY%20Change",
"title": "Top 10 Items by Requests and YoY Change",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -4803,7 +4803,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened%20Problems",
"title": "Opened Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -5700,7 +5700,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/High and Critical Priority Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/High%20and%20Critical%20Priority%20Problems",
"title": "High and Critical Priority Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -6069,7 +6069,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Total Incidents by Category and YoY Change",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Total%20Incidents%20by%20Category%20and%20YoY%20Change",
"title": "Total Incidents by Category and YoY Change",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -6461,7 +6461,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Known Errors",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Known%20Errors",
"title": "Known Errors",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -6908,7 +6908,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue Requests",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue%20Requests",
"title": "Overdue Requests",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -7329,7 +7329,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/AVG Time to Solve an Incident",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/AVG%20Time%20to%20Solve%20an%20Incident",
"title": "AVG Time to Solve an Incident",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -7666,7 +7666,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Made SLA?",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Made%20SLA%3F",
"title": "Made SLA?",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -8294,7 +8294,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Overdue%20Problems",
"title": "Overdue Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -9453,7 +9453,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Age of Active Problems",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Age%20of%20Active%20Problems",
"title": "Age of Active Problems",
"description": "",
"lastModified": {
Expand Down Expand Up @@ -9848,7 +9848,7 @@
{
"com.linkedin.pegasus2avro.chart.ChartInfo": {
"customProperties": {},
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened Incidents",
"externalUrl": "https://do-not-connect/t/acryl/authoring/ExecutiveDashboard/ExecutiveDashboard/Opened%20Incidents",
"title": "Opened Incidents",
"description": "",
"lastModified": {
Expand Down
Loading

0 comments on commit 35457cb

Please sign in to comment.