-
Notifications
You must be signed in to change notification settings - Fork 1
Plugin API
Plugin jest dostępny jako moduł:
from syzaczweb.plugins import some_plugin
Inicjalizacja pluginu:
ver = some_plugin.init(env)
Funkcja init
powinna zwracać wersję pluginu w postaci obiektu core.version.Version
.
Zmienna env
to słownik zawierający wszystkie funkcje prekazane do pluginu przez Core w formacie:
{
"nazwa_funkcji": <wskaźnik>
}
Pobranie listy URLi:
urls = some_plugin.urls()
Lista adresów powinna mieć format:
[
"%s/funkcja/...", # adres url (wyrażenie regularne)
"funkcja", # nazwa funkcji callback w module
"template" # ścieżka do HTML template dla danej funkcji (jeśli nie ma to None)
]
Ogólny format adresu URL wewnątrz aplikacji:
%s/<funkcja>/<ścieżka>/<parametry>
%s
zostanie zatąpiony adresem bazowym aplikacji.
<funkcja>
to dowolna nazwa funkcji pluginu. <ścieżka>
i <parametry>
są do wykorzystania przez plugin.
Funkcja callback musi przyjmować przynajmniej 1 parametr:
- request Django HttpRequest
oraz wszystkie inne parametry zdefiniowane w adresie URL.
Powinna zwracać wynik w formacie Pythonowego słownika.