Gibt es einen Datepicker welcher in Kombination mit der Python Bibliothek 'urwid' eingesetzt werden kann?
Verfasst: Freitag 21. September 2018, 20:26
Hallo,
das Modul 'npyscreen' besitzt die beiden Widgets 'DateCombo' und 'TitleDateCombo' um Daten (Plural von Datum) auszuwählen.
Mir wurde gesagt, das die Python Bibliothek 'urwid' kein solches Kalendersteuerelement (Datepicker) besitzt, da dies auf Grund der Komplexität als eigenes Projekt anzusetzen ist.
Leider konnte ich bis jetzt keine solche Drittanbieter-Bibliothek finden.
Zwar gibt es Projekte wie 'khal', diese sind aber meist als eigenständige Anwendungen konzipiert und nicht als 'urwid'-Widgets.
Kennt jemand ein solches Projekt?
Sollte es so etwas nicht geben, mit welche Ansätze kann man das Fehlen kompensieren?
'urwid.Edit' (also ein Textfeld) hat das Problem, dass auch ungültige Daten eingegeben werden können. Zwar kann ich diese über eine Konvertierung zu 'datetime.date' und Exception-Behandlung ausfindig machen, dies ist aber sehr klobig.
Hier noch besagter 'npyscreen'-Datepicker und der dazugehörige Quellcode:

Diese Frage wurde ebenfalls in englischer Sprache auf stackoverflow gepostet.
Mit freundlichen Grüßen
AFoeee
das Modul 'npyscreen' besitzt die beiden Widgets 'DateCombo' und 'TitleDateCombo' um Daten (Plural von Datum) auszuwählen.
Mir wurde gesagt, das die Python Bibliothek 'urwid' kein solches Kalendersteuerelement (Datepicker) besitzt, da dies auf Grund der Komplexität als eigenes Projekt anzusetzen ist.
Leider konnte ich bis jetzt keine solche Drittanbieter-Bibliothek finden.
Zwar gibt es Projekte wie 'khal', diese sind aber meist als eigenständige Anwendungen konzipiert und nicht als 'urwid'-Widgets.
Kennt jemand ein solches Projekt?
Sollte es so etwas nicht geben, mit welche Ansätze kann man das Fehlen kompensieren?
'urwid.Edit' (also ein Textfeld) hat das Problem, dass auch ungültige Daten eingegeben werden können. Zwar kann ich diese über eine Konvertierung zu 'datetime.date' und Exception-Behandlung ausfindig machen, dies ist aber sehr klobig.
Hier noch besagter 'npyscreen'-Datepicker und der dazugehörige Quellcode:

Code: Alles auswählen
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import npyscreen
class DateForm(npyscreen.Form):
def afterEditing(self):
self.parentApp.setNextForm(None)
def create(self):
self.date = self.add(npyscreen.TitleDateCombo, name="Date")
class TestApplication(npyscreen.NPSAppManaged):
def onStart(self):
new_user = self.addForm("MAIN", DateForm, name="Read Date")
if __name__ == "__main__":
TestApplication().run()
Mit freundlichen Grüßen
AFoeee