Changeset 112:e22eeb00aa5a

Show
Ignore:
Timestamp:
01/27/09 07:36:35 (14 months ago)
Author:
Ga?tan de Menten <ged@…>
Branch:
default
Message:

do not use the report repository in any example except a special purpose
example "demo_repository".

Files:
1 added
6 modified
1 moved

Legend:

Unmodified
Added
Removed
  • examples/basic.tex

    r45 r112  
    1313\HL 
    1414{% for line in o.lines%} \ 
    15 \NC $line.item.name \VL $line.item.reference \VL $line.quantity  
     15\NC $line.item.name \VL $line.item.reference \VL $line.quantity 
    1616\VL $line.item.price \VL $line.amount \SR 
    1717\HL \ 
  • examples/common.py

    r85 r112  
    1 import relatorio 
    2  
    31class Invoice(dict): 
    42 
     
    1210 
    1311 
    14 repos = relatorio.ReportRepository() 
    1512inv = Invoice(customer={'name': 'John Bonham', 
    1613                        'address': {'street': 'Smirnov street', 
     
    4239              bottle=(file('bouteille.png', 'r'), 'image/png')) 
    4340 
    44  
    45  
  • examples/demo_chart.py

    r80 r112  
    1 from cStringIO import StringIO 
    2 from common import Invoice, repos, inv 
     1from os.path import abspath 
     2from relatorio import Report 
    33 
    4 repos.add_report(Invoice, 'image/png', 'pie_chart', report_name='pie') 
    5 repos.add_report(Invoice, 'image/svg', 'vbar_chart', report_name='vbar') 
    6 repos.add_report(Invoice, 'image/svg', 'hbar_chart', report_name='hbar') 
    7 repos.add_report(Invoice, 'image/png', 'line_chart', report_name='line') 
     4# test data 
     5from common import inv 
    86 
    97if __name__ == '__main__': 
    10     pie_report, _ = repos.classes[Invoice].ids['pie'] 
     8    pie_report = Report(abspath('pie_chart'), 'image/png') 
    119    file('pie.png', 'wb').write(pie_report(o=inv).render().getvalue()) 
    12     hbar_report, _ = repos.classes[Invoice].ids['hbar'] 
     10    hbar_report = Report(abspath('hbar_chart'), 'image/svg') 
    1311    file('hbar.svg', 'wb').write(hbar_report(o=inv).render().getvalue()) 
    14     vbar_report, _ = repos.classes[Invoice].ids['vbar'] 
     12    vbar_report = Report(abspath('vbar_chart'), 'image/svg') 
    1513    file('vbar.svg', 'wb').write(vbar_report(o=inv).render().getvalue()) 
    16     line_report, _ = repos.classes[Invoice].ids['line'] 
     14    line_report = Report(abspath('line_chart'), 'image/png') 
    1715    file('line.png', 'wb').write(line_report(o=inv).render().getvalue()) 
  • examples/demo_context.py

    r80 r112  
    1 from cStringIO import StringIO 
    2 from common import Invoice, repos, inv 
     1from os.path import abspath 
     2from relatorio import Report 
    33 
    4 repos.add_report(Invoice, 'application/pdf', 'basic.tex', 
    5                  report_name='ConTeXt') 
     4# test data 
     5from common import inv 
     6 
    67#PDF 
    78if __name__ == '__main__': 
    8     pdf_report, _ = repos.classes[Invoice].ids['ConTeXt'] 
    9     file('bonham_basic.pdf', 'wb').write(pdf_report(o=inv).render().getvalue()) 
     9    print "generating output_basic.pdf... ", 
     10    report = Report(abspath('basic.tex'), 'application/pdf') 
     11    content = report(o=inv).render().getvalue() 
     12    file('output_basic.pdf', 'wb').write(content) 
     13    print "done" 
    1014 
  • examples/demo_odf.py

    r107 r112  
    1 from cStringIO import StringIO 
    2 from common import Invoice, repos, inv 
    3 import demo_chart 
     1from os.path import abspath 
     2from relatorio import Report 
    43 
    5 repos.add_report(Invoice, 'application/vnd.oasis.opendocument.text', 
    6                  'basic.odt', report_name='basic') 
    7 repos.add_report(Invoice, 'application/vnd.oasis.opendocument.text', 
    8                  'invoice.odt', report_name='complicated') 
    9 repos.add_report(Invoice, 'application/vnd.oasis.opendocument.spreadsheet', 
    10                  'pivot.ods', report_name='pivot') 
    11 repos.add_report(Invoice, 'application/vnd.oasis.opendocument.presentation', 
    12                  'presentation.odp', report_name='presentation') 
    13 repos.add_report(None, 'application/vnd.oasis.opendocument.text', 
    14                  'columns.odt', report_name='column') 
     4# test data 
     5from common import inv 
     6 
     7ODT_MIME = 'application/vnd.oasis.opendocument.text' 
     8ODS_MIME = 'application/vnd.oasis.opendocument.spreadsheet' 
     9ODP_MIME = 'application/vnd.oasis.opendocument.presentation' 
    1510 
    1611if __name__ == '__main__': 
    17     # Add a chart to the invoice 
    18     inv['chart'] = repos.classes[Invoice].ids['pie'] 
    19  
    2012    # ODT 
    2113    print "generating output_basic.odt... ", 
    22     basic_report, _ = repos.classes[Invoice].ids['basic'] 
    23     data = basic_report(o=inv).render().getvalue() 
    24     file('output_basic.odt', 'wb').write(data) 
     14    report = Report(abspath('basic.odt'), ODT_MIME) 
     15    content = report(o=inv).render().getvalue() 
     16    file('output_basic.odt', 'wb').write(content) 
    2517    print "done" 
    2618 
     19    # we could also use an opendocument template directly 
     20#    from relatorio.templates import opendocument 
     21#    template = opendocument.Template(source=None, filepath='basic.odt') 
     22#    content = template.generate(o=inv).render().getvalue() 
     23#    file('output_basic.odt', 'wb').write(content) 
     24 
    2725    print "generating output_complicated.odt... ", 
    28     report, _ = repos.classes[Invoice].ids['complicated'] 
    29     data = report(o=inv).render().getvalue() 
    30     file('output_complicated.odt', 'wb').write(data) 
     26    # Add a chart to the invoice 
     27    inv['chart'] = (Report(abspath('pie_chart'), 'image/png'), 'image/png') 
     28    report = Report(abspath('complicated.odt'), ODT_MIME) 
     29    content = report(o=inv).render().getvalue() 
     30    file('output_complicated.odt', 'wb').write(content) 
    3131    print "done" 
    3232 
    3333    print "generating output_columns.odt... ", 
    34     column_report, _ = repos.classes[None].ids['column'] 
     34    report = Report(abspath('columns.odt'), ODT_MIME) 
    3535    lst = [[], ['i'], ['a', 'b'], [1, 2, 3], ['I', 'II', 'III', 'IV']] 
    3636    titles = ['first', 'second', 'third', 'fourth'] 
    37     data = column_report(titles=titles, lst=lst).render().getvalue() 
    38     file('output_columns.odt', 'wb').write(data) 
     37    content = report(titles=titles, lst=lst).render().getvalue() 
     38    file('output_columns.odt', 'wb').write(content) 
    3939    print "done" 
    4040 
    4141    # ODS 
    4242    print "generating output_pivot.ods... ", 
    43     ods_report, _ = repos.classes[Invoice].ids['pivot'] 
    44     data = ods_report(o=inv).render().getvalue() 
    45     file('output_pivot.ods', 'wb').write(data) 
     43    report = Report(abspath('pivot.ods'), ODS_MIME) 
     44    content = report(o=inv).render().getvalue() 
     45    file('output_pivot.ods', 'wb').write(content) 
    4646    print "done" 
    4747 
    4848    # ODP 
    4949    print "generating output_presentation.odp... ", 
    50     odp_report, _ = repos.classes[Invoice].ids['presentation'] 
    51     data = odp_report(o=inv).render().getvalue() 
    52     file('output_presentation.odp', 'wb').write(data) 
     50    report = Report(abspath('presentation.odp'), ODP_MIME) 
     51    content = report(o=inv).render().getvalue() 
     52    file('output_presentation.odp', 'wb').write(content) 
    5353    print "done" 
    5454 
  • relatorio/templates/pdf.py

    r72 r112  
    1111# This program is distributed in the hope that it will be useful, but WITHOUT 
    1212# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
    13 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more  
     13# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
    1414# details. 
    1515#