3 from reportlab.lib.styles import PropertySet
4 from reportlab.lib.pagesizes import A4
5 from reportlab.lib import colors
6 from reportlab.lib.styles import ParagraphStyle
7 from reportlab.lib.enums import TA_LEFT
10 class TemplateStyle(PropertySet):
20 title_font='Courier-Bold',
30 class ImageStyle(PropertySet):
34 image_hAlign='CENTRE', # LEFT,CENTRE or RIGHT
35 image_vAlign='MIDDLE' # BOTTOM,MIDDLE or TOP
39 class TableStyle(PropertySet):
41 table_hAlign='CENTRE', # LEFT,CENTRE or RIGHT
42 table_vAlign='MIDDLE', # BOTTOM,MIDDLE or TOP
48 class LinePlotStyle(PropertySet):
54 strokeColor=colors.black,
56 format=('%4.2f', '%4.0f', '%3.1f'),
59 (colors.red, 'Circle', 1.5),
60 (colors.blue, 'Diamond', 1.5),
61 (colors.gold, 'Square', 1.5),
62 (colors.green, 'Triangle', 1.5),
63 (colors.pink, 'FilledCircle', 1.5),
64 (colors.lightblue, 'FilledDiamond', 1.5),
65 (colors.lightgreen, 'FilledTriangle', 1.5)
70 class LineChartStyle(PropertySet):
76 strokeColor=colors.lightgrey,
78 format=('%4.2f', '%3.1f'),
81 (colors.red, 'Circle', 1.5),
82 (colors.blue, 'Diamond', 1.5),
83 (colors.gold, 'Square', 1.5),
84 (colors.green, 'Triangle', 1.5),
85 (colors.pink, 'FilledCircle', 1.5),
86 (colors.lightblue, 'FilledDiamond', 1.5),
87 (colors.lightgreen, 'FilledTriangle', 1.5)
92 class BarChartStyle(PropertySet):
103 strokeColor=colors.lightgrey,
106 "loss": (colors.lightgreen, '%4.2f'),
107 "latency": (colors.indianred, '%4.1f'),
108 "fastlink": (colors.pink, '%4.1f'),
109 "l2switch": (colors.lightblue, '%4.1f'),
110 "kernel rdp": (colors.lightgreen, '%4.1f'),
112 background=colors.lightgrey,
117 ts_left = TableStyle(
119 table_hAlign='LEFT', # LEFT,CENTRE or RIGHT
120 table_vAlign='BOTTOM', # BOTTOM,MIDDLE or TOP
121 table_colWidths=None,
122 table_rowHeights=None
125 is_default = ImageStyle(name='default')
126 is_traffic = ImageStyle(name='traffic',
129 image_hAlign='CENTRE')
131 ts_default = TableStyle(name='default')
132 lps_default = LinePlotStyle(name='default')
133 lcs_default = LineChartStyle(name='default')
134 bcs_default = BarChartStyle(name='default')
135 ps_head_lv1 = ParagraphStyle(name='ps_head_lv1',
136 fontName='Courier-Bold',
137 alignment=TA_LEFT, # TA_CENTRE,
142 ps_head_lv2 = ParagraphStyle(name='ps_head_lv2',
148 ps_head_lv3 = ParagraphStyle(name='ps_head_lv3',
154 ps_head_lv4 = ParagraphStyle(name='ps_head_lv4',
156 fontName='Courier-Bold',
160 ps_head_lv5 = ParagraphStyle(name='ps_head_lv5',
166 ps_head_lv6 = ParagraphStyle(name='ps_head_lv6',
172 ps_head_lv7 = ParagraphStyle(name='ps_head_lv7',
178 ps_head_lv8 = ParagraphStyle(name='ps_head_lv8',
184 ps_head_lv9 = ParagraphStyle(name='ps_head_lv9',
190 ps_body = ParagraphStyle(name='ps_body',
196 ps_space = ParagraphStyle(name='ps_space',