Ankündigung

Einklappen
Keine Ankündigung bisher.

lib.network - TCP-Server, UDP-Server, TCP-Client, HTTP-Client und Zeuchs...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    lib.network - TCP-Server, UDP-Server, TCP-Client, HTTP-Client und Zeuchs...

    Moin.

    Ich habe mal die lib.network weitergeschrieben ("zuende" ist so ein großes Wort... ) bzw. komplettiert. Dabei bin ich Foxi352s Ansatz, im Wesentlichen auf asyncio aufzubauen, weiter gefolgt.

    Die bisherige Version hatte einen TCP-Server, einen TCP-Client und einen HTTP-Client. Den passenden UDP-Server habe ich ergänzt. Insgesamt habe ich den Code teilweise nochmal überarbeitet und einige Sachen in Bezug auf die asyncio-Geschichte angepasst.

    Die Tools habe ich nach Rücksprache mit msinn soweit entfernt, wie sie in der lib.utils schon vorhanden sind (einige Fixes habe ich dafür in die lib.utils eingebracht).

    Falls jemand die lib.network schon in seinen Projekten (Plugins...?) nutzt oder das vorhat, wäre ich über Feedback, Anregungen, Kritik usw dankbar.

    Bei mir läuft sie bis dato mit dem network-Plugin und dem cli-Plugin fehlerfrei. Es gibt jedoch noch die eine oder andere Sache zu beachten, wenn man die lib.network einsetzen möchte. Dazu kann ich bei Bedarf gern noch ein paar Infos loswerden.

    Da diese Änderung in manchen Hinsichten ein "breaking change" wäre, habe ich die noch nicht fürs offizielle Repo "angemeldet". Dafür möchte ich gern noch ein paar Testergebnisse von anderen Willigen haben

    Die notwendigen Dateien finden sich in meinem Fork: https://github.com/Morg42/smarthome/tree/libnetwork

    Wer nur die lib.network ausprobieren will und nicht den kompletten Fork runterladen, kann sich dort die lib/network.py und die lib/aioudp.py rauspicken.


    Wer dazu noch das überarbeitete network-Plugin probieren will, braucht auch die aus meinem Fork: https://github.com/Morg42/plugins/tree/network

    Zu den Plugindateien erkläre ich jetzt nichts weiter. Die alte Version habe ich im Unterverzeichnis __pv_1_5_0 aufgehoben; diese arbeitete mit lib.connection

    Also - fröhliches Testen
    Zuletzt geändert von Morg; 31.12.2020, 09:33. Grund: Link korrigiert

    #2
    Getestet und/oder für die neue lib.network angepasst sind bisher die folgenden Plugins:
    • network
    • cli
    • unifi
    • kodi
    • ical
    • kodi
    • lirc
    • knx
    • squeezebox
    • pushover
    • deebot_ozmo (soweit es lib.network betrifft; im deebotozmo-Modul (nicht shng) gibts noch Probleme

    -----

    Neu:

    Bei Http(s)-Aufrufen können Login-Daten in der URL mitgegeben werden in Form von

    Code:
    https://user:pass@domain.tld/...
    Im iCal-Plugin war schon eine Weile eine Funktion eingebaut, die diese Logindaten z.B. für die Ausgabe in Logfiles entfernt oder durch *** ersetzt.
    Diese Funktion habe ich jetzt auch in die lib.network verfrachtet, sie ist im Quelltext und docstring dokumentiert. Im iCal-Plugin kann man die simple (wenn auch nicht hübsche... ) Implementierung begutachten.
    (Da das iCal-Plugin zwar die Login-Daten immer schön rausgefiltert hat, die lib.network sie aber in INFO und DEBUG wieder ins Log geschrieben hat, habe ich das entsprechend in der Http-Klasse als zusätzlichen optionalen Parameter bei der Instanziierung eingefügt. Default ist "so wie bisher", also im Log ausgeben).
    Zuletzt geändert von Morg; 01.01.2021, 12:35. Grund: Alle Plugins getestet

    Kommentar


      #3
      Der erste Link hat ein "ng" beim smarthome zu viel..

      Kommentar


        #4
        Danke

        Kommentar

        Lädt...
        X