import this

CLI Parameter mit Docopt und Schema


Listen Later

import docopt

"""
CLI Parameter mit Docopt und Schema

Gerade für CLI Tools ist Python oft eine gute Wahl. Es verbindet die Geschwindigkeit von Shell-Programmierung
mit Features einer durchdachten Sprache.

Eine der ersten Zeilen Code ist sys.argv[] zu parsen. Die Standardlib bringt da mit optparse oder seit
Python (2.7|3) argparse sehr umfangreiche Packages mit. Umfangreich heißt leider auch etwas zeitintensiv
zu nutzen, wenn man die Doku nicht auswendig gelernt hat.

Komplett von der anderen Seite zäumt Docopt [0] dieses Problem auf. Man schreibt einfach seinen Hilfetext
in einen String und wirft ihn diesem Modul vor. Genau, das war alles.

In der Natur der Sache liegt, dass Docopt nicht weiß, wie es die CLI Optionen und Argumente validieren
soll. Da kommt z. B. Schema [1] des selben Autors ins Spiel. Dieses Modul bietet ein simples Interface beliebige
Datenstrukturen zu validieren. Damit ist es nicht nur ein perfekter Kompagnon für Docopt sondern für Daten
fast jeglicher Art.
[0] http://docopt.org/
  • [1] https://github.com/halst/schema

    Usage:

       import-this listen [--pre-fetch ]

       import-this download []

    Options:

       -h --help Show help screen

       -p --pre-fetch Download before playing

    """

    arguments = docopt(__doc__)
    View all episodesView all episodes
    Download on the App Store

    import thisBy Markus & Frank