Handle not supported plot type in pptx (#1122)
* Handle not supported plot type in pptx * Fixed formatting.
This commit is contained in:
@@ -211,24 +211,32 @@ class PptxConverter(DocumentConverter):
|
|||||||
return self._html_converter.convert_string(html_table).markdown.strip() + "\n"
|
return self._html_converter.convert_string(html_table).markdown.strip() + "\n"
|
||||||
|
|
||||||
def _convert_chart_to_markdown(self, chart):
|
def _convert_chart_to_markdown(self, chart):
|
||||||
md = "\n\n### Chart"
|
try:
|
||||||
if chart.has_title:
|
md = "\n\n### Chart"
|
||||||
md += f": {chart.chart_title.text_frame.text}"
|
if chart.has_title:
|
||||||
md += "\n\n"
|
md += f": {chart.chart_title.text_frame.text}"
|
||||||
data = []
|
md += "\n\n"
|
||||||
category_names = [c.label for c in chart.plots[0].categories]
|
data = []
|
||||||
series_names = [s.name for s in chart.series]
|
category_names = [c.label for c in chart.plots[0].categories]
|
||||||
data.append(["Category"] + series_names)
|
series_names = [s.name for s in chart.series]
|
||||||
|
data.append(["Category"] + series_names)
|
||||||
|
|
||||||
for idx, category in enumerate(category_names):
|
for idx, category in enumerate(category_names):
|
||||||
row = [category]
|
row = [category]
|
||||||
for series in chart.series:
|
for series in chart.series:
|
||||||
row.append(series.values[idx])
|
row.append(series.values[idx])
|
||||||
data.append(row)
|
data.append(row)
|
||||||
|
|
||||||
markdown_table = []
|
markdown_table = []
|
||||||
for row in data:
|
for row in data:
|
||||||
markdown_table.append("| " + " | ".join(map(str, row)) + " |")
|
markdown_table.append("| " + " | ".join(map(str, row)) + " |")
|
||||||
header = markdown_table[0]
|
header = markdown_table[0]
|
||||||
separator = "|" + "|".join(["---"] * len(data[0])) + "|"
|
separator = "|" + "|".join(["---"] * len(data[0])) + "|"
|
||||||
return md + "\n".join([header, separator] + markdown_table[1:])
|
return md + "\n".join([header, separator] + markdown_table[1:])
|
||||||
|
except ValueError as e:
|
||||||
|
# Handle the specific error for unsupported chart types
|
||||||
|
if "unsupported plot type" in str(e):
|
||||||
|
return "\n\n[unsupported chart]\n\n"
|
||||||
|
except Exception:
|
||||||
|
# Catch any other exceptions that might occur
|
||||||
|
return "\n\n[unsupported chart]\n\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user