Skipole WSGI generator.

Back to:

Introduction

Next:

Getting Started

Development at Bitbucket:

Skipole Project Documentation Downloads

Associated projects:

pi01 pi02 skitest skiclub svgplot

skipole - overview

Skipole is a Python program, which can create a new project (or edit an existing project).

Your project is automatically created in a development directory, and consists of files that use Skipole to generate web pages, and a subdirectory which will contain your own Python code.

Skipole will then serve a web site, which will serve your project pages at localhost:8000, and admin pages at localhost:8000/skiadmin.

Using localhost:8000/skiadmin you can generate web pages, containing widgets, and special 'pages', termed Responders, which call your Python functions to fill in the widget data, and hence populate the pages.

Once you have completed your project, the admin pages give you the ability to save the project as a tar file, which bundles the control files, the skipole framework and your own code together. This tar file contains a WSGI application which can then be used with any WSGI compatable server.

Within your development directory a 'projectcode' subdirectory is present, containing an __init__file that holds four functions that you will develop:

start_project(project, projectfiles, path, option)

start_call(called_ident, skicall)

submit_data(skicall)

end_call(page_ident, page_type, skicall)

These functions in turn can call your own packages and modules, to provide whatever data you wish.

The framework initially imports and calls 'start_project' which you would use to set any initial start up code. Then, as a call arrives at the server, 'start_call' is called. If you set a Responder to receive a call, it may call 'submit_data', and finally, just before a template page is returned, 'end_call' is called.

The arguments to these functions are available for you to obtain the status of the call. In particular the 'skicall' object has attributes which you can set to populate the widgets on the final returned template page

Further information is available within the admin web pages.