Example #1
0
 def __init__(self, logo, title='Baruwa mail report'):
     "Init"
     self.pdf = StringIO()
     self.doc = BaruwaPDFTemplate(self.pdf, topMargin=50, bottomMargin=18)
     img = u''
     if os.path.exists(logo):
         img = Image(logo)
     logobj = [(img, title)]
     logo_table = Table(logobj, [2.0 * inch, 5.4 * inch])
     logo_table.setStyle(PIE_TABLE)
     self.parts = [logo_table]
     self.parts.append(Spacer(1, 20))
     self.sentry = 0
Example #2
0
def build_pdf(rows):
    "Build PDF"
    pdffile = StringIO()
    doc = BaruwaPDFTemplate(pdffile, topMargin=50, bottomMargin=18)
    import baruwa
    here = os.path.dirname(os.path.dirname(os.path.abspath(baruwa.__file__)))
    logo = os.path.join(here, 'baruwa', 'public', 'imgs', 'logo.png')
    img = Image(logo)
    logobj = [(img, _('Audit Log exported report'))]
    logo_table = Table(logobj, [2.0 * inch, 5.4 * inch])
    logo_table.setStyle(PIE_TABLE)
    parts = [logo_table]
    parts.append(Spacer(1, 20))
    parts.append(Paragraph(_('Audit Logs'), STYLES['Heading1']))
    heading = ((
        Paragraph(_('Date/Time'), STYLES["Heading6"]),
        Paragraph(_('Username'), STYLES["Heading6"]),
        Paragraph(_('Info'), STYLES["Heading6"]),
        Paragraph(_('Hostname'), STYLES["Heading6"]),
        Paragraph(_('Remote IP'), STYLES["Heading6"]),
        Paragraph(_('Action'), STYLES["Heading6"]),
    ))
    rows.insert(0, heading)
    table = Table(rows, [
        1.10 * inch,
        1.23 * inch,
        1.96 * inch,
        1.69 * inch,
        0.95 * inch,
        0.45 * inch,
    ])
    table.setStyle(
        TableStyle([
            ('FONTSIZE', (0, 0), (-1, -1), 8),
            ('FONT', (0, 0), (-1, -1), 'Helvetica'),
            ('FONT', (0, 0), (-1, 0), 'Helvetica-Bold'),
            ('GRID', (0, 0), (-1, -1), 0.15, colors.black),
        ]))
    parts.append(table)
    doc.title = _('Baruwa Audit log export')
    doc.build(parts)
    return pdffile.getvalue()