reportman (version 0.1.0.0)
index
c:\python23\lib\site-packages\reportman.py

This file is copyright 2004 by Shawn L. Church.  Permission to copy,  use,
and distribute this file is granted in accordance with the wxWidgets license 
agreement found at http://wxwidgets.org/newlicen.htm
 
This module implements python bindings to the ReportMan ActiveX control.
For more information on ReportManager see: http://ReportMan.sourceforge.net
 
Requirements: ctypes module.  To download see: http://starship.python.net/crew/theller/ctypes/index.html
 
Limitations: Currently implemented for Windows only although Linux should work with
a change to the _rp_lib= statement to reference the Linux shared library for Report Manager.
 
INSTALLATION:   1) Install ctypes module if necassary.
                2) Copy reportman.py to Python site-packages directory
 
TODO:   1) Implement Cross-platform compatibility with Linux.   Should also
        also implement MAC compatability but I have no way to test this.
        
        2) Add capabilities to export other ReportManager-supported file types
        such as excel, CSV,  text,  etc.
        
        3) Add remote printing capabilities.
    
USAGE:  1) Import reportman module
        2) The ReportMan class is provided for general use.  It takes
        care of opening and closing the report handle.        
        3) The rp_* functions are available for low level access to the 
        Report Manager API.

 
Modules
       
ctypes

 
Classes
       
__builtin__.object
ReportMan

 
class ReportMan(__builtin__.object)
    Implements wrapper class around Report Manager ActiveX control.
 
Usage:  
 
    Py 0.9.4
    Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from reportman import ReportMan
    >>> report=ReportMan("c:\test.rep")
    >>> report.set_param("title", "This is the report title")
    >>> report.preview()
    >>> report.execute() # produces test.pdf in same directory as test.rep
    >>> report.execute(metafile=True) # produces test.rpmf in same directory as test.rep
    >>> report.execute("c:\report.pdf") # Proudces c:\report.pdf
    >>> report.params
    ['TITLE', 'DATETEST']
    >>>         ...
 
  Methods defined here:
__del__(self)
Closes report manager report handle
__init__(self, report_filename)
Initializes a report manager report handle.
 
report_filename = "\path\to\your\report.rep"
execute(self, filename=None, metafile=False, compressed=True)
Creates a PDF or Report Manager Meta File 
 
filename=name of report file (defaults to report file name+.pdf/.rpmf)
metafile=True to produce Report Manager meta-file or false for PDF.
compressed=True to produce commpressed file output.
    
returns None on success or ValueError on error.
preview(self, title=None)
Previews report to screen.
 
title=Caption of to appear on preview window.
 
returns None on success or ValueError on error.
printout(self, title=None, showprogress=True, showprintdialog=False)
Prints report to printer.
 
title=Caption to appear in status dialog.
showprogress=True to show status dialog.
showprintdialog=True to show standard printer dialog before printing report
 
returns None on success or ValueError on error.
set_param(self, paramname, paramvalue)
Sets the specified paramater to the specified value 
 
paramname=Name of the paramater.
paramvalue=Value of the paramater must be one of the following types:
 
    None:       Sets paramater to SQL NULL - c-void*    (None)
    int:        Sets paramater using c-int              (1,2,3)
    long:       Sets paramater using c-longlong         (1L,2L)
    str:        Sets paramater to string                ("string")
    unicode:    Sets paramater to unicode string        (u"Unicode")
    float:      Sets paramater using c-double           (12.54321)
    
    Other types result in a value exception.  I use strings to pass
    dates and just adjust the SQL statement to convert them for
    comparison purposes.
    
returns None on success or ValueError on error.

Properties defined here:
params
Read Only list of paramater names
get lambda self

Data and other attributes defined here:
__dict__ = <dictproxy object at 0x0117EE50>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'ReportMan' objects>
list of weak references to the object (if defined)

 
Functions
       
rp_close(hreport)
Wrapper for: int rp_close(int hreport); 
 
returns None on success or ValueError on error.
rp_execute(hreport, outputfilename, metafile, compressed)
Wrapper for: int rp_execute(int hreport,char *outputfilename,
                            int metafile,int compressed); 
 
returns None on success or ValueError on error.
rp_getparamcount(hreport)
Wrapper for: int rp_getparamcount(int hreport,int *paramcount); 
 
returns paramater count as int on success or ValueError on error.
rp_getparamname(hreport, index)
Wrapper for: int rp_getparamname(int hreport,int index,char *abuffer); 
 
returns paramater name as str on success or ValueError on error.
rp_open(filename)
Wrapper for: int rp_open(char *filename); 
 
returns ReportManager handle as int on success or ValurError on error
rp_preview(hreport, title)
Wrapper for: int rp_preview(int hreport,char *title); 
 
returns None on success or ValueError on error.
rp_print(hreport, title, showprogress=True, showprintdialog=False)
Wrapper for: int rp_print(int hreport,char *title,int showprogress,
                          int showprintdialog); 
 
returns None on success or ValueError on error.
rp_setparamvalue(hreport, paramname, paramvalue)
Wrapper for: int rp_setparamvalue(int hreport,char *paramname,
                                      int paramtype,void *paramvalue); 
                                      
returns None on success or ValueError on error.

 
Data
        __version__ = '0.1.0.0'