Skip to content

Praca s ipythonom (sk)

Tomi Belan edited this page Feb 4, 2018 · 2 revisions

Pri vývoji Votru sa často hodí experimentovať. Keď vývojár pridáva podporu pre novú činnosť alebo aplikáciu, väčšinou to spraví ručne v AISe a popri tom prekladá všetko čo robí a všetko čo sa stane do Votr kódu. Na toto sú veľmi užitočné Jupyter notebooky. (Terminológia: Jupyter notebooky podporujú veľa jazykov, Pythonová verzia sa volá IPython.)

Notebooky sú kríženci medzi normálnym príkazovým riadkom a skriptami. Príkazy sa dajú písať po jednom podľa aktuálnej situácie, ale keď treba, celý program sa dá spustiť odznova.

Ako nainštalovať a spustiť IPython a Jupyter

pip install jupyter
jupyter notebook

Čo napísať do nového notebooku

from nbenv import *
client = create_client(ais, get_login_params())

To spustíme (Shift+Enter) a dostaneme nový client. Čo sa s ním dá robiť:

# Volať fladgejt metódy
client.get_som_student()

# Zistiť zoznam aplikácii
aisikl.portal.get_apps(client.context)

# Otvárať aplikácie, ktoré už poznáme
app = client._open_administracia_studia()

# Otvárať nové aplikácie
url = '/ais/servlets/WebUIServlet?...'
app, ops = Application.open(client.context, url)
app.awaited_open_main_dialog(ops)

# Robiť veci v otvorených aplikáciach
app.d.components
app.d.nejakyTextField.write('obsah')
with app.collect_operations() as ops: app.d.nejakyButton.click()
app.awaited_open_dialog(ops)

Funkcia get_login_params() si prvýkrát vypýta meno a heslo a uloží ho v /tmp/votrlogin-$USER. Vďaka tomu nebude heslo nikdy viditeľné na obrazovke alebo uložené v ipynb súbore.

Ako sa prihlásiť na AIS betu

client = create_client(ais_beta, get_login_params())

Ako sa prihlásiť s Cosign cookie

client = create_client(ais, dict(
    type='cosigncookie',
    ais_cookie='hodnota cosign-filter-ais2.uniba.sk',
    rest_cookie='hodnota cosign-filter-votr-api.uniba.sk'))

rest_cookie je nepovinné.

Ako spustiť celý notebook odznova

Stlačíme "Kernel" -> "Restart & Run All".

Hodí sa pridať si na to klávesovú skratku. Stlačíme "Help" -> "Edit Keyboard Shortcuts", nájdeme "restart kernel and run all cells", a pridáme napríklad 9,9 (t.j. dvakrát za sebou stlačiť "9").

Ako vyrábať notebooky v podadresári

Najjednoduchšie je vyrábať notebooky v koreni Votru, ale ak ich chceme mať uložené v podadresári (povedzme votr/notebooks), treba na začiatok pridať:

import sys
sys.path[0] = '..'