Community Website
Around this idea
Pida need to have a community for new Plugins and Snippets. Community website is born.
He provide :
- User registration
- Upload plugins/snippets
- Moderate (Accept/Refuse?) new plugins/snippets
- Browse/search through database
- RSS of last news plugins/snippets
- RSS of last modified plugins/snippets
And give some service method for :
- List all plugins/snippets
- Search through database
- Download plugins/snippets
Available plugin category :
- documentation -- Add documentation helpers
- bugs -- Handle new bug system
- ...
Plugin package
Content of plugin package
A plugin package is named pida-NAME-VERSION.tgz and contain at least a tree like this :
NAME NAME/uidef NAME/locale NAME/pixmaps NAME/data NAME/glade NAME/NAME.py NAME/__init__.py NAME/plugin.pida
An example of RFC plugin package :
rfc rfc/uidef rfc/locale rfc/pixmaps rfc/data rfc/glade rfc/test_rfc.py rfc/rfc.py rfc/__init__.py rfc/plugin.pida rfc/locale/fr_FR rfc/locale/fr_FR/LC_MESSAGES rfc/locale/fr_FR/LC_MESSAGES/rfc.po rfc/locale/fr_FR/LC_MESSAGES/rfc.mo rfc/uidef/rfc-toolbar.xml rfc/uidef/rfc.xml
Files informations
plugin.pida
This file handle some informations about plugin :
| plugin * | technical name of plugin (only [a-z0-9_] name) | rfc |
| name * | long name of plugin | RFC Viewer |
| version * | version of plugin | 0.1 |
| author * | name of author <email> | Mathieu Virbel <test@…> |
| require_pida * | version of pida | 0.5 |
| category * | category of plugins | documentation |
| depends | list of depends | os,re,urllib,gtk |
| lastupdate | date of last update | |
| website | website of plugin |
* This fields are mandatory
RPC functions
URL : http://pida.co.uk/community/RPC2
plugins.list()
Get plugins list
Return an array(plugin1, plugin2. ...) with plugin defined by an array of key/value.
Example :
[
{
'description': 'Search man pages with pattern, and browse it inside PIDA',
'depends': 'os,gtk,commands,re,cgi',
'author': 'Mathieu Virbel <tito@bankiz.org>',
'plugin': 'man',
'version': '0.5',
'require_pida': '0.5',
'name': 'Man Viewer',
'url': 'http://pida.co.uk/community/files/plugins/pida-man-0.5.tgz',
},
...
]
snippets
Rapid documentation :
- snippet.push(login, password, title, meta, data, [tag1, tag2...])
- snippet.get([id1, id2...])
- snippet.get_by_tag(tag)
- snippet.tag.list()
TODO
