Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/openpyxl/chart/title.py: 58%
42 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1# Copyright (c) 2010-2022 openpyxl
3from openpyxl.descriptors.serialisable import Serialisable
4from openpyxl.descriptors import (
5 Typed,
6 Alias,
7)
9from openpyxl.descriptors.excel import ExtensionList
10from openpyxl.descriptors.nested import NestedBool
12from .text import Text, RichText
13from .layout import Layout
14from .shapes import GraphicalProperties
16from openpyxl.drawing.text import (
17 Paragraph,
18 RegularTextRun,
19 LineBreak,
20 ParagraphProperties,
21 CharacterProperties,
22)
25class Title(Serialisable):
26 tagname = "title"
28 tx = Typed(expected_type=Text, allow_none=True)
29 text = Alias('tx')
30 layout = Typed(expected_type=Layout, allow_none=True)
31 overlay = NestedBool(allow_none=True)
32 spPr = Typed(expected_type=GraphicalProperties, allow_none=True)
33 graphicalProperties = Alias('spPr')
34 txPr = Typed(expected_type=RichText, allow_none=True)
35 body = Alias('txPr')
36 extLst = Typed(expected_type=ExtensionList, allow_none=True)
38 __elements__ = ('tx', 'layout', 'overlay', 'spPr', 'txPr')
40 def __init__(self,
41 tx=None,
42 layout=None,
43 overlay=None,
44 spPr=None,
45 txPr=None,
46 extLst=None,
47 ):
48 if tx is None:
49 tx = Text()
50 self.tx = tx
51 self.layout = layout
52 self.overlay = overlay
53 self.spPr = spPr
54 self.txPr = txPr
58def title_maker(text):
59 title = Title()
60 paraprops = ParagraphProperties()
61 paraprops.defRPr = CharacterProperties()
62 paras = [Paragraph(r=[RegularTextRun(t=s)], pPr=paraprops) for s in text.split("\n")]
64 title.tx.rich.paragraphs = paras
65 return title
68class TitleDescriptor(Typed):
70 expected_type = Title
71 allow_none = True
73 def __set__(self, instance, value):
74 if isinstance(value, str):
75 value = title_maker(value)
76 super(TitleDescriptor, self).__set__(instance, value)