Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

ZOPYX SmartPrintNG Server

Project Description

zopyx.smartprintng.server

zopyx.smartprintng.server is a Pyramid based server implementation and implements the server side functionality of the Produce & Publish platform. It is know as the Produce & Publish Server.

Requirements

  • Python 2.6, 2.7 (no Python 3 support)

Installation

  • create an virtualenv environment (Python 2.6) - either within your current (empty) directory or by letting virtualenv create one for you. (easy_install virtualenv if virtualenv is not available on your system):

    virtualenv --no-site-packages .
    

    or:

    virtualenv --no-site-packages smartprintng
    
  • install the SmartPrintNG server:

    bin/easy_install zopyx.smartprintng.server
    
  • create a server.ini configuration file (and change it according to your needs):

    [DEFAULT]
    debug = true
    
    [app:main]
    use = egg:zopyx.smartprintng.server#app
    reload_templates = true
    debug_authorization = false
    debug_notfound = false
    
    [server:main]
    use = egg:Paste#http
    host = 127.0.0.1
    port = 6543
    
  • start the server (in foreground):

    bin/pserve server.ini
    
  • or start it in background:

    bin/pserve server.ini  --daemon
    

Upgrading

For upgrading an existing SmartPrintNG server you should try the following inside your virtualenv environment:

bin/easy_install -U zopyx.smartprintng.server
bin/easy_install -U zopyx.convert2

XMLRPC API

The SmartPrintNG server exposes several methods through XMLRPC:

def convertZIP(auth_token, zip_archive, converter_name):
    """ 'zip_archive' is ZIP archive (encoded as base-64 byte string).
        The archive must contain exactly *one* HTML file to be converted
        including all related resources like stylesheets and images.
        All files must be stored flat within the archive (no subfolders).
        All references to externals resources like the 'src' attribute
        of the IMG tag or references to the stylesheet(s) must use
        relative paths. The method returns the converted output file
        also as base64-encoded ZIP archive.
    """

def convertZIPEmail(auth_token, context, zip_archive, converter_name='pdf-prince',
                    sender=None, recipient=None, subject=None, body=None):
    """ Similar to convertZIP() except that this method will send the
        converted output document to a recipient by email. 'subject' and
        'body' parameters *must* be utf-8 encoded.
    """

def availableConverters():
    """ Returns a list of available converter names on the
        SmartPrintNG backend.
    """

def authenticate(username, password):
    """ Log into the server. Returns an auth_token. authenticate()
        must be called before calling any of the methods above.
    """

def ping():
    """ says 'pong' - or something similar """

Email configuration

For using the email support through the convertZIPEmail() the email server must be configured through a dedicated configuration file. An email.ini may look like this:

[mail]
hostname = smtp.gmail.com
username = some_username
password = some_password
force_tls = False
no_tls = False

You have to pass the name of the email configuration file to pserve when starting then server:

bin/pserve server.ini mail_config=/path/to/email.ini

Support

Support for Produce & Publish Server is currently only available on a project basis.

Contact

ZOPYX Limited
Hundskapfklinge 33
D-72074 Tuebingen, Germany
www.zopyx.com

Changelog

1.1.2 (2012/10/14)

  • documentation updated

1.1.1 (2012/02/03)

  • better self-test page (more text, some images)
  • updated dependencies

1.1.0 (2011/08/22)

  • compatibility with Pyramid 1.1

1.0.1 (2011/01/30)

  • compatibility with Pyramid 1.0b3+

1.0.0 (2011/01/16)

  • final release
  • fixed test fixtures

0.7.1 (2011/01/10)

  • pinned pyramid_xmlrpc 0.1

0.7.0 (2010/12/11)

  • converted to Pyramid

0.6.7 (2010/07/18)

  • adjusted company name

0.6.6 (2010/05/15)

  • include conversion result into ZIP file

0.6.5 (2010/02/04)

  • fixed racing condition in cleanup code

0.6.4 (2009/12/25)

  • minor fixes
  • documentation cleanup

0.6.3 (2009/11/29)

  • compatiblity with BFG 1.2

0.6.1 (2009/10/04)

  • fixed bug in code for cleaning up the spool_directory

0.6.0 (2009/09/15)

  • authentication and authorization support

0.5.2 (2009/09/05)

  • adjusted to newest zopyx.convert2 version

0.6.0 (2009/09/15)

  • added authentication and authorization support

0.5.2 (2009/09/05)

  • adjusted to newest zopyx.convert2 version

0.5.1 (2009/08/01)

  • added convertZIPandRedirect() method
  • added deliver() method
  • moved base.ServerCore to models.py
  • delivered files must be younger than ‘delivery_max_age’ seconds
  • cleanup code
  • internal refactoring
  • more tests

0.5.0 (2009/07/23)

  • now requires Python 2.6

0.4.3 (2009/07/22)

  • removed most of the ZCML configuration
  • tests, tests, tests

0.4.2 (2009/07/19)

  • switching back to zope.sendmail
  • implemented asynchronous mail delivery on top of zope.sendmail

0.4.1 (2009/07/19)

  • using repoze.sendmail

0.4.0 (2009/07/19)

  • added convertZIPEmail() API

0.3.4 (2009/07/13)

  • updated documentation

0.3.3 (2009/07/12)

  • fix for missing BASE tag within HTML files

0.3.2 (2009/07/12)

  • better logging

0.3.1 (2009/07/08)

  • disabled check for maximum size of the request within parse_xmlrpc_request() since 8MB is too small for us

0.3.0 (2009/07/06)

  • switched to repoze.bfg

0.2.0 (2009/07/06)

  • improved handling of temporary directories

0.1.2 (2009/07/05)

  • improved handling of temporary directories

0.1.1 (2009/07/05)

  • improved logging and error handling

0.1 (2009/07/05)

  • Initial release
Release History

Release History

This version
History Node

1.1.2

History Node

1.1.1

History Node

1.1.0

History Node

1.0.1

History Node

1.0.0

History Node

0.7.1

History Node

0.7.0

History Node

0.6.7

History Node

0.6.6

History Node

0.6.5

History Node

0.6.4

History Node

0.6.3

History Node

0.6.1.1

History Node

0.6.1

History Node

0.6.0.1

History Node

0.6.0

History Node

0.5.2

History Node

0.5.1

History Node

0.5.0

History Node

0.4.3

History Node

0.4.2.2

History Node

0.4.2.1

History Node

0.4.2

History Node

0.4.1

History Node

0.4.0

History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3.0

History Node

0.2.0

History Node

0.1.2

History Node

0.1.1

History Node

0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
zopyx.smartprintng.server-1.1.2.zip (44.5 kB) Copy SHA256 Checksum SHA256 Source Oct 14, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting