Skip to content

halfstrik/pyjasperclient

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

A simple python module to run and get generated reports deployed on a JasperServer. Module works by consuming the SOAP web service provided by the JasperServer. It is ideal for python projects that uses JasperServer for reporting and needs a way to access/publish these reports to their users easily. However, this project is not a management interface for JasperServer, you should use its web interface and/or iReport for that.

Requirements

  • re # included in standard distribution
  • email # included in standard distribution
  • xml # included in standard distribution
  • suds (>= 0.3.8 GA) # https://fedorahosted.org/suds/wiki

NOTE: module has been tested on python v2.6.4 only.

Usage

For the impatient

from jasperclient import JasperClient

url = 'http://localhost:8080/jasperserver/services/repository?wsdl'
j = JasperClient(url,'joeuser','joeuser')
ret = j.runReport('/reports/samples/AllAccounts',"PDF")
f = file('AllAccounts.pdf','w')
f.write(ret['data'])
f.close()

JasperClient object

Create your Jasper object with JasperServer wsdl url and JasperServer credentials.

j = JasperClient( 'http://localhost:8080/jasperserver/services/repository?wsdl', 'joeuser', 'joeuser')

There are only two methods that can be used.

JasperClient.listReports(dir="")

Returns a list of strings that are report URIs of the JasperServer. Optional dir param may be used to define the directory to look for. It should start with / and end with directory name. (No / at the end)

Jasper.runReport(uri,output="PDF",params={})

This will run the report for the URI given in uri and generate a dict containing 'content-type' and 'data'. 'content-type' can be used to send as an HTTP response header. params is a simple dict to pass directly to the running report.

Check the source for more info

About

JasperServer SOAP client for Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%