1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
HowTo Write A Plugin For Portato
=================================
Writing plugins for Portato is quite easy: (Nearly) all you have to do is to write a plain Python module :).
A plugin has two more builtins than a normal Python module:
``Plugin``
This is a class representing a plugin.
``register``
A function which you have to call to get the your plugin added to Portato.
In this module you need to have at least one class, which inherits from ``Plugin``. This class does all the handling you want your plugin to do. If you want, you can implement more classes - from Portato's view they are handled as different plugins. Thus: It is not the module hierarchy, but the classes that count.
Add the end you only call ``register`` once for each class and are done :).
Of course there are some things you should bare in mind:
1. Do not use the ``__init__`` method, but ``init``.
2. Do not declare a member which shadows one from the original class:
``description``, ``author``, ``status``, ``menus``, ``name``, ``calls``, ``deps``, ``enabled``, ``add_widget``, ``create_widget``, ``add_call``
3. Of course you can *use* the members mentioned under point 2.
For the details, please see the source code at the moment or write your question to portato@necoro.net
.. vim: ft=rst
|