Uživatelské nástroje

Nástroje pro tento web

Tento překlad je starší než originální stránka a nejspíše i zastaralý. Zobrazit změny.
Překlady této stránky?:

cs:bzbrowser

Toto je starší verze dokumentu!


Multistaniční prohlížeč datových záznamů - bzbrowser

Aplikace bzbrowser je určená pro prohlížení datových záznamů z uložiště, Aktuálně vykresluje screenshoty, jako pás záznamů složený podle času.

Instalace

sudo apt-get install libsdl2-dev git python-numpy
sudo easy_install pysdl2
git clone https://github.com/bolidozor/bzbrowser.git
cd bzbrowser
python bzbrowser.py

Interní Funkce

Třída SnapshotCollection dostává požadavky na interval času, který by měl být pokryt snapshoty (metoda cover), kouká se, jaká oblast je už pokryta a pokud nějaký interval není a měl by, tak se na něj zavolá get_snapshots z bzpost a jednotlivé snapshoty se naládují do nějaké funkce (self.sink) - tohle dělá v jiném vlákně, které si k tomu vyrobí aby volání cover neblokovalo a program odpovídal třeba na scrollování a další věci. V mainu se té třídě jako sink, tedy funkce, kterou to má na každý nový snapshot zavolat, předá spuštění funkce put_up_snapshot zase v jiném vlákně (řádek 122).

put_up_snapshot ten snapshot podle url stáhne, převede na obrázek a poté se předá té knihovně SDL, aby se mohl vykreslovat - to se ale musí udělat v hlavním vlákně, jinak by to SDL nezvládla, proto se vyrobí funkce finish a předá funkci run_on_main. finish se potom spustí na řádku 143.

cs/bzbrowser.1423487315.txt.gz · Poslední úprava: 2015/02/09 13:08 autor: kaklik