3. hrcli shell¶
Mit hrlci shell
erhält man man eine interaktive iypthon
shell
# hrcli shell
Python 3.6.0 (default, Mar 3 2017, 23:25:37)
Type "copyright", "credits" or "license" for more information.
IPython 5.3.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
wsgi ...... Application Instance
db ....... db Instance
models ... wsgi.models (auch als import * importiert)
qa ....... wsgi.qa (auch als import * importiert)
mandate... wsgi.mandate (auch als import * importiert)
In [1]:
Hier kann man interaktiv Abfragen etc erstellen.
3.1. Alle Wahlen anzeigen¶
In [2]: Wahl.query.all()
Out[2]:
[<Wahl 1: NRW 2008>,
<Wahl 2: EU 2009>,
<Wahl 3: BPW 2010>,
<Wahl 4: LTW STMK 2010>,
<Wahl 5: NRW 2013>,
<Wahl 6: EU 2014>,
<Wahl 11: LTW OOE 2009>,
<Wahl 12: LTW OOE 2015>,
<Wahl 15: BPW2016 [alt]>,
<Wahl 16: BPW2016>,
<Wahl 21: BPW2016 Stich1 - 22.5.16>,
<Wahl 22: BPW2016 Stich WH - 4.12.16>]
3.2. Eine Wahl mit einer bestimmten id (ID == Primary Key) holen¶
In [8]: w = Wahl.query.get(1)
In [9]: w
Out[9]: <Wahl 1: NRW 2008>
In der ipython
shell wir bei Eingabe einer Variable, hier w
die Magic Methode __repr__
des Objekts aufgerufen,
wie hier für wsgi.models.Wahl.__repr__
.
def __repr__(self):
"""
Attention: Uses Python 3.6 format string
"""
return f"<Wahl {self.id}: {self.bez}>"
3.3. Autovervollständigen mit TAB¶
Mit TAB kann man wie in der Shell autovervollständigen.
In [3]: w.<TAB>
w.anz_parteien w.bezl w.delete_meta w.gemeindeergebnisse
w.berechne_wahlkarten w.bl w.discriminator w.get_ergpos_for_liste
w.berechne_wahlkarten_for_bl w.clear_erg w.eingabelisten w.get_listen_for_bl
w.bez w.datum w.ergdict w.id
3.4. Methodendoc mit ? anzeigen lassen¶
Mit ?
kann man sich für Methoden oder Funktionen den Docstring anzeigen lassen.
In [3]: w.clear_erg?
Signature: w.clear_erg(commit=True)
Docstring:
Setzt bei allen Gemeindeergebnissen der Wahl ABG, GIG, PXX auf 0. Die WAB bleiben erhalten. Ruft dafür für jedes
Gemeindeergebnise :py:method:`GemeindeErgebnis.clear_erg` auf.
:param commit: Soll automatisch ein db.session.commit() erfolgen?
:return:
File: /opt/hr/wsgi/models.py
Type: method