Plugin: python

Interfejs od strony interpretera

Moduł ekg

Metody i atrybuty modułu

command( str )

Wywołanie polecenia ekg2

printf( format, args ...)

Wyświetlenie tekstu w podanym formacie.

echo( str )

Wyświetlenie tekstu w formacie generic

debug( format, args ... )

Zapisanie danych debugowych w podanym formacie (notacja printf).

sessions()

Zwraca listę obiektów typu session zawierającą dostępne sesje.

session_get( nazwa )

Zwraca obiekt sesyjny sesji o podanej nazwie. Podnosi wyjątek RuntimeException jeśli takiej sesji nie ma.

session_current()

Zwraca obiekt reprezentujący bieżącą sesję.

plugins()

Zwraca listę zawierająca załadowane pluginy.

timer_bind( czas, callback )

Wykonuje funkcję callback co podany czas. Funkcja ta nie może przyjmować argumentów.

handler_bind( nazwa_sygnału, callback )

Łączy funkcję callback z sygnałem o podanej nazwie. Funkcja musi przyjmować argumenty takie, jakie przesyłane są z sygnałem.

command_bind( nazwa_polecenia, callback )

Łączy funkcję callback z reakcją na wykonanie polecenia. Funkcja musi przyjmować dwa argumenty: nazwę wpisanego polecenia i argumenty mu przekazane.

variable_add( nazwa_zmiennej, początkowa_wartość [, callback ])

Dodaje zmienną skryptową, która będzie zapisywana w pliku konfiguracyjnym ekg2. Opcjonalny parametr callback może zawierać funkcję, która będzie wykonywana przy każdej zmianie wartości dodawanej zmiennej. Funkcja musi przyjmować dwa argumenty: nazwę zmiennej i jej nową wartość.

Zmienne dodane metodą variable_add można odczytywać tak, jak wszystkie inne ustawienia konfiguracyjne, tj. za pomocą słownika ekg.config

window_current()

Zwraca obiekt window reprezentujący bieżące okno

window_get( nazwa )

Zwraca obiekt window reprezentujący okno o podanej nazwie. Funkcja rozpoznaje także nazwy __current i __status.

config

Słownik zawierający opcję konfiguracji ekg (odczyt i zapis)

Stałe

MSGCLASS_MESSAGE

typ wiadomości.  wiadomość

MSGCLASS_CHAT

typ wiadomości.  rozmowa ciągła

MSGCLASS_SENT

typ wiadomości.  wysłana wiadomość

MSGCLASS_SENT_CHAT

typ wiadomości.  wysłana wiadomość w ramach rozmowy ciągłej

MSGCLASS_SYSTEM

typ wiadomości.  wiadomość systemowa

STATUS_NA

stan.  Not Available (rozłączony)

STATUS_AVAIL

stan.  Available (dostępny)

STATUS_AWAY

stan.  Away (z dala od klawiatury)

STATUS_AUTOAWAY

stan.  Auto Away (automatyczny stan bezczynności)

STATUS_INVISIBLE

stan.  Invisible (niewidoczny)

STATUS_XA

stan.  Extended Away (niedostępny)

STATUS_DND

stan.  Do Not Disturb (nie przeszkadzać)

STATUS_FREE_FOR_CHAT

stan.  Free for Chat (chętny do rozmowy)

STATUS_BLOCKED

stan.  Blocked (zablokowany)

STATUS_UNKNOWN

stan.  Unknown (nieznany)

STATUS_ERROR

stan.  Error (błąd)

IGNORE_STATUS

ignorowanie.  zmian stanu

IGNORE_STATUS_DESCR

ignorowanie.  stanów z opisem

IGNORE_MSG

ignorowanie.  wiadomości

IGNORE_DCC

ignorowanie.  połączeń bezpośrednich (DCC)

IGNORE_EVENTS

ignorowanie.  zdarzeń

IGNORE_NOTIFY

ignorowanie.  powiadomień

IGNORE_ALL

ignorowanie.  wszystkiego

WATCH_READ

watche.  odczyt

WATCH_READ_LINE

watche.  odczyt po lini

WATCH_WRITE

watche.  zapis

Klasa session

Metody i pola obiektu klasy session

self

Słownikowy dostęp do konfiguracji sesji.

connect()

Łączy sesję.

connected()

Zwraca True jeśli sesja jest połączona, False wpp.

disconnect()

Rozłącza sesję.

users()

Zwraca listę obiektów użytkowników na liście danej sesji.

user_get(nazwa)

Zwraca obiekt klasy user o danym identyfikatorze (gg:123, jid:test@example.com itp.)

status()

Zwraca tuple ( status, opis ), gdzie status jest jedną ze stałych określających typ stanu. W przypadku braku opisu, drugą wartością będzie None.

status_set( status [, opis ] )

Ustawia status i ewentualnie opis. Status musi być jedną ze stałych opisujących stan.

Klasa user

Obiekt zawiera atrybutowy dostęp do informacji o obiekcie:

  • uid .  identyfikator

  • nickname .  ksywka

  • cyjnym ekg podzielona na kilka linii

    Na małym terminalu powyższy przykład wyświetli:

    
    	.-------------------------.
            | ::: Długa linia, która  |
            | zostanie podzielona na  |
            | kilka linii             |
    	`-------------------------'
    
                

    Po dodaniu %|, to znaczy:

    
    %> %|Długa linia, która zostanie podzielona na kilka linii
    
                

    zostanie wyświetlone jako:

    
            .-------------------------.
            | ::: Długa linia, która  |
    	| ::: zostanie podzielona |
    	| ::: na kilka linii      |
    	`-------------------------'
    
                

Użytkownicy spoza listy kontaktów

Dwa specjalne formaty ,,known_user'' i ,,unknown_user'' określają, jak będą pokazywani userzy z listy i spoza listy kontaktów. Pierwszy za parametry przyjmuje %1 opis, %2 numerek, a drugi %1 numerek.

Prompty readline

Wpisy readline_*, oprócz readline_prompt_query nie mogą zawierać żadnych ,,procentowych'' kodów sterujących. Podobnie jest z promptem config_changed.

Marginesy

(ncurses) W ekg2 można ustawiać tzw. marginesy poprzez zmienną ncurses:margin_size. Aby z nich korzystać należy w formatce użyć znaków /| do oddzielenia tekstu znajdującego się po prawej i po lewej stronie.

Przykład 3.2. Przykład użycia marginesów


tekst/|tekst2

            

Powyższa formatka zostanie wyświetlona jako:


tekst        tekst2

            

Odstęp reguluje się poprzez zmienną ncurses:margin_size.


./usr/share/doc/ekg2-core/book-pl/plugin-python.html0000644000000000000000000006100512105535243021217 0ustar rootroot Plugin: python

Plugin: python

Interfejs od strony interpretera

Moduł ekg

Metody i atrybuty modułu

command( str )

Wywołanie polecenia ekg2

printf( format, args ...)

Wyświetlenie tekstu w podanym formacie.

echo( str )

Wyświetlenie tekstu w formacie generic

debug( format, args ... )

Zapisanie danych debugowych w podanym formacie (notacja printf).

sessions()

Zwraca listę obiektów typu session zawierającą dostępne sesje.

session_get( nazwa )

Zwraca obiekt sesyjny sesji o podanej nazwie. Podnosi wyjątek RuntimeException jeśli takiej sesji nie ma.

session_current()

Zwraca obiekt reprezentujący bieżącą sesję.

plugins()

Zwraca listę zawierająca załadowane pluginy.

timer_bind( czas, callback )

Wykonuje funkcję callback co podany czas. Funkcja ta nie może przyjmować argumentów.

handler_bind( nazwa_sygnału, callback )

Łączy funkcję callback z sygnałem o podanej nazwie. Funkcja musi przyjmować argumenty takie, jakie przesyłane są z sygnałem.

command_bind( nazwa_polecenia, callback )

Łączy funkcję callback z reakcją na wykonanie polecenia. Funkcja musi przyjmować dwa argumenty: nazwę wpisanego polecenia i argumenty mu przekazane.

variable_add( nazwa_zmiennej, początkowa_wartość [, callback ])

Dodaje zmienną skryptową, która będzie zapisywana w pliku konfiguracyjnym ekg2. Opcjonalny parametr callback może zawierać funkcję, która będzie wykonywana przy każdej zmianie wartości dodawanej zmiennej. Funkcja musi przyjmować dwa argumenty: nazwę zmiennej i jej nową wartość.

Zmienne dodane metodą variable_add można odczytywać tak, jak wszystkie inne ustawienia konfiguracyjne, tj. za pomocą słownika ekg.config

window_current()

Zwraca obiekt window reprezentujący bieżące okno

window_get( nazwa )

Zwraca obiekt window reprezentujący okno o podanej nazwie. Funkcja rozpoznaje także nazwy __current i __status.

config

Słownik zawierający opcję konfiguracji ekg (odczyt i zapis)

Stałe

MSGCLASS_MESSAGE

typ wiadomości.  wiadomość

MSGCLASS_CHAT

typ wiadomości.  rozmowa ciągła

MSGCLASS_SENT

typ wiadomości.  wysłana wiadomość

MSGCLASS_SENT_CHAT

typ wiadomości.  wysłana wiadomość w ramach rozmowy ciągłej

MSGCLASS_SYSTEM

typ wiadomości.  wiadomość systemowa

STATUS_NA

stan.  Not Available (rozłączony)

STATUS_AVAIL

stan.  Available (dostępny)

STATUS_AWAY

stan.  Away (z dala od klawiatury)

STATUS_AUTOAWAY

stan.  Auto Away (automatyczny stan bezczynności)

STATUS_INVISIBLE

stan.  Invisible (niewidoczny)

STATUS_XA

stan.  Extended Away (niedostępny)

STATUS_DND

stan.  Do Not Disturb (nie przeszkadzać)

STATUS_FREE_FOR_CHAT

stan.  Free for Chat (chętny do rozmowy)

STATUS_BLOCKED

stan.  Blocked (zablokowany)

STATUS_UNKNOWN

stan.  Unknown (nieznany)

STATUS_ERROR

stan.  Error (błąd)

IGNORE_STATUS

ignorowanie.  zmian stanu

IGNORE_STATUS_DESCR

ignorowanie.  stanów z opisem

IGNORE_MSG