ZOO-Project
Data Structures | Macros | Functions | Variables
service_internal_python.c File Reference
#include "service_internal_python.h"

Data Structures

struct  module_state
 The state for the zoo Python module. More...
 

Macros

#define GETSTATE(m)   (&_state)
 

Functions

PyMODINIT_FUNC init_zoo ()
 Function to create and initialize the zoo Python module. More...
 
int zoo_python_support (maps **main_conf, map *request, service *s, maps **real_inputs, maps **real_outputs)
 Load a Python module then run the function corresponding to the service by passing the conf, inputs and outputs parameters by reference. More...
 
void PythonZooReport (maps *m, const char *module, int load)
 Report Python error which may occur on loading the Python module or at runtime. More...
 
PyDictObject * PyDict_FromMaps (maps *t)
 Convert a maps to a Python dictionary. More...
 
PyDictObject * PyDict_FromMap (map *t)
 Convert a map to a Python dictionary. More...
 
mapsmapsFromPyDict (PyDictObject *t)
 Convert a Python dictionary to a maps. More...
 
maps_mapsFromPyDict (PyDictObject *t)
 Convert a Python dictionary to a maps. More...
 
mapmapFromPyDict (PyDictObject *t)
 Convert a Python dictionary to a map. More...
 
map_mapFromPyDict (PyDictObject *t)
 Convert a Python dictionary to a map. More...
 
PyObject * PythonTranslate (PyObject *self, PyObject *args)
 Use the ZOO-Services messages translation function from the Python environment. More...
 
PyObject * PythonUpdateStatus (PyObject *self, PyObject *args)
 Update the ongoing status of a running service from the Python environment. More...
 

Variables

static struct module_state _state
 
static PyObject * ZooError
 The exception for the zoo Python module. More...
 
PyMethodDef zooMethods []
 Function definitions for the zoo Python Module. More...
 

Data Structure Documentation

struct module_state

The state for the zoo Python module.

Data Fields
PyObject * error

Macro Definition Documentation

#define GETSTATE (   m)    (&_state)

Function Documentation

map* _mapFromPyDict ( PyDictObject *  t)

Convert a Python dictionary to a map.

Parameters
tthe PyDictObject to convert
Returns
a new map containing the converted PyDictObject
Warning
make sure to free resources returned by this function
maps* _mapsFromPyDict ( PyDictObject *  t)

Convert a Python dictionary to a maps.

Parameters
tthe PyDictObject to convert
Returns
a new maps containing the converted PyDictObject
Warning
make sure to free resources returned by this function
PyMODINIT_FUNC init_zoo ( )

Function to create and initialize the zoo Python module.

Returns
the Python module (for Python versions < 3, nothing for version >=3)
map* mapFromPyDict ( PyDictObject *  t)

Convert a Python dictionary to a map.

Parameters
tthe PyDictObject to convert
Returns
a new map containing the converted PyDictObject
Warning
make sure to free resources returned by this function
maps* mapsFromPyDict ( PyDictObject *  t)

Convert a Python dictionary to a maps.

Parameters
tthe PyDictObject to convert
Returns
a new maps containing the converted PyDictObject
Warning
make sure to free resources returned by this function
PyDictObject* PyDict_FromMap ( map t)

Convert a map to a Python dictionary.

Parameters
tthe map to convert
Returns
a new PyDictObject containing the converted maps
Warning
make sure to free resources returned by this function
PyDictObject* PyDict_FromMaps ( maps t)

Convert a maps to a Python dictionary.

Parameters
tthe maps to convert
Returns
a new PyDictObject containing the converted maps
See also
PyDict_FromMap
Warning
make sure to free resources returned by this function
PyObject* PythonTranslate ( PyObject *  self,
PyObject *  args 
)

Use the ZOO-Services messages translation function from the Python environment.

Parameters
selfthe Python object on which we can run the method
argsthe Python arguments given from the Python environment
Returns
a new Python string containing the translated value
See also
_ss
PyObject* PythonUpdateStatus ( PyObject *  self,
PyObject *  args 
)

Update the ongoing status of a running service from the Python environment.

Parameters
selfthe Python object on which we can run the method
argsthe Python arguments given from the Python environment
Returns
None to the Python environment
See also
_updateStatus
void PythonZooReport ( maps m,
const char *  module,
int  load 
)

Report Python error which may occur on loading the Python module or at runtime.

Parameters
mthe conf maps containing the main.cfg settings
modulethe service name
load1 if the Python module was not loaded yet
int zoo_python_support ( maps **  main_conf,
map request,
service s,
maps **  real_inputs,
maps **  real_outputs 
)

Load a Python module then run the function corresponding to the service by passing the conf, inputs and outputs parameters by reference.

Parameters
main_confthe conf maps containing the main.cfg settings
requestthe map containing the HTTP request
sthe service structure
real_inputsthe maps containing the inputs
real_outputsthe maps containing the outputs

Variable Documentation

struct module_state _state
static
PyObject* ZooError
static

The exception for the zoo Python module.

PyMethodDef zooMethods[]
Initial value:
= {
{"_", PythonTranslate, METH_VARARGS, "Translate a string using the zoo-services textdomain."},
{"update_status", PythonUpdateStatus, METH_VARARGS, "Update status percentage of a running process."},
{NULL, NULL, 0, NULL}
}
PyObject * PythonTranslate(PyObject *self, PyObject *args)
Use the ZOO-Services messages translation function from the Python environment.
Definition: service_internal_python.c:767
PyObject * PythonUpdateStatus(PyObject *self, PyObject *args)
Update the ongoing status of a running service from the Python environment.
Definition: service_internal_python.c:788

Function definitions for the zoo Python Module.

Define the following functions available from a service loaded and running from the ZOO-Kernel Python environment: