Skip to content

Restic UI - PyWebIO

Python3
  • Ich war vor ein paar Wochen mal auf einem Python Meeting in Düsseldorf, voll die Cracks da 😉 Man kam ins Gespräch und ich wurde gefragt warum ich das nicht als Webanwendung machen würde!? Ich mache das ja mit PyQt6 und damit ist es eine reine Desktopanwendung.

    Ich habe mich dann mal umgesehen. Da gibt es ja hunderte von Frameworks, Mini-Frameworks und wie das alles heißt. Ich hatte je ein Wochenende Django und Flask ausprobiert. Da war mir die Lernkurve aber viel zu flach.

    Somit musste irgend was anderes her. Irgendwann bin ich über PyWebIO gestolpert.

    Ich habe mich dann heute mal dran gesetzt um zu schauen, was man damit so machen kann. Hier ein kurzer Eindruck, von dem was ich heute so geschafft habe 🙂

    Dieses PyWebIO gefällt mir bis jetzt sehr gut. Python Code, der dann die Webanwendung erzeugt. Die Lernkurve ist deutlich steiler damit auch wenn mir klar ist, das man nicht alles damit erreichen kann.

    Mal sehen, ob ich das komplettiere.

  • Aktueller Stand

  • PyWebIO vs. Flask

    Python3
    2
    0 Stimmen
    2 Beiträge
    87 Aufrufe
    FrankMF

    Mist, jetzt habe ich auch noch Streamlit gefunden. Jetzt geht mir langsam die Zeit aus...

  • Restic UI - Stand Januar 2023

    PyWebIO
    1
    0 Stimmen
    1 Beiträge
    100 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    7 Beiträge
    148 Aufrufe
    FrankMF

    Link Preview Image Merge branch 'master' into 'main' (45c83cd8) · Commits · Frank / restic_ui_pywebio · GitLab

    Fix some bugs See merge request Bullet64/restic_ui_pywebio!71

    favicon

    GitLab (gitlab.com)

  • PyWebIO - put_buttons

    PyWebIO
    2
    0 Stimmen
    2 Beiträge
    139 Aufrufe
    FrankMF

    Und noch eine kleine Übung, wie man den Buttton abhängig von einem Value enabled/disabled

    # we build header and tdata for table tab_mount = [] for count, value in enumerate(backups): if count == 0: tab_mount.append(['No.', 'Backup name of the restic data backup', 'Actions']) if backups[value].init == "0": tab_mount.append([count + 1, backups[count].name, put_buttons([ dict(label='Mount', value='Mount', color='primary', disabled=True), dict(label='UMount', value='UMount', color='primary', disabled=True), dict(label='Restore', value='Restore', color='primary', disabled=True), ] , onclick=partial(actions, count + 1)) ]) else: tab_mount.append([count + 1, backups[count].name, put_buttons([ dict(label='Mount', value='Mount', color='primary'), dict(label='UMount', value='UMount', color='primary'), dict(label='Restore', value='Restore', color='primary'), ], onclick=partial(actions, count + 1)) ])
  • ResticUI with PyWebIO - Repo

    PyWebIO
    1
    0 Stimmen
    1 Beiträge
    83 Aufrufe
    Niemand hat geantwortet
  • PyWebIO - Footer bearbeiten

    PyWebIO
    1
    0 Stimmen
    1 Beiträge
    75 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    5 Beiträge
    722 Aufrufe
    FrankMF

    @berthold Hallo Berthold. Ich bin eigentlich immer noch nicht mit meinem Code zufrieden. Ist man das jemals? Da ich auch noch ein kleines Problem habe, würde ich da ungerne jemanden reinschauen lassen. Der Code ist stellenweise in deutsch kommentiert, stellenweise in englisch. Kennt man ja, man will es irgendwann mal ordentlich machen und dann kommt das nächste Problem auf einen zu.

    Hast Du Python3 Vorkenntnisse? Wenn Du "brennend" dran interessiert bist, könnte ich Dir evt. Zugang zu meinem Gitlab-Projekt geben.

    Wenn Du interessiert bist und ich dich nicht los werde :), dann schreib mir eine PN.

  • 0 Stimmen
    2 Beiträge
    208 Aufrufe
    FrankMF

    Dinge entwickeln sich. Es sieht alles schon wieder was anders aus 🙂

    Hauptfenster
    270b5c68-3d64-44ca-9a01-e3f24ba4a26c-grafik.png

    Setup Fenster zum Erstellen der wg0.conf
    27c3cb28-50f5-4e00-b03d-de47c07372a0-grafik.png

    Und alles funktioniert so weit 🤓