Erste Programmierversuche - Hilfe gesucht

  • Hallo Nerds.

    Bei meinen ersten Versuchen stoße ich schon an meine Grenzen.
    Ich könnte etwas Hilfe gebrauchen.

    Mein Code: (Quelle: http://kodi.wiki/view/audio-video_add-on_tutorial)


    Hier spielt Kodi leider die Video-URL nicht ab bzw. versucht erst garnicht zu laden. Setze ich eine URL zu einer MP4-Datei ein, funktioniert es.
    Die Video-URL bzw. das Video wird als MJPEG ausgegeben. Dass Kodi MJPEG abspielt, weiß ich, da ich es schon mit einer .strm Datei gestestet habe.
    Aber wo liegt jetzt hier der Fehler und wie ist er zu lösen?

    MfG.

  • Aktivier doch einfach mal den [definition=12,3]Debug-Log[/definition] und schau was für eine URL da aufgerufen wird :)
    Dann siehst du den Fehler vieleicht selber.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • So, nun laufen beide Streams. Wobei der MJPEG Stream sehr buffert. Kann man da irgend nen Befehl einbauen, der erstmal ein paar Sekunden "vorladen" läßt ?

    Und dann hätte ich noch eine Frage zum Thema IF & ELSE.

    Code
    if c_username == "":
    c_url = 'http://' + c_ip + ':' + c_port + '/'
    else:
    c_url = 'http://' + c_username + ':' + c_password + '@' + c_ip + ':' + c_port + '/'

    Fehlermeldung! - Wie müßte es richtig aussehen?

    MfG.

  • Code
    16:26:22.496 T:5804   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                 - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                Error Type: <type 'exceptions.IndentationError'>
                                                Error Contents: ('expected an indented block', ('C:\\Users\\Chris\\Downloads\\KodiPortable\\App\\Kodi\\portable_data\\addons\\plugin.video.ip.webcam.monitor\\default.py', 16, 5, "c_url = 'http://' + c_ip + ':' + c_port + '/'\n"))
                                                IndentationError: ('expected an indented block', ('C:\\Users\\Chris\\Downloads\\KodiPortable\\App\\Kodi\\portable_data\\addons\\plugin.video.ip.webcam.monitor\\default.py', 16, 5, "c_url = 'http://' + c_ip + ':' + c_port + '/'\n"))
                                                -->End of Python script error report<--
    16:26:22.497 T:5804    INFO: Python script stopped
  • grob kannst Du Dir merken, wenn Du einen Doppelpunkt verwendest mußt Du die nächste Zeile einrücken.

    Python
    if c_username == "":
        c_url = 'http://' + c_ip + ':' + c_port + '/'
    else:
        c_url = 'http://' + c_username + ':' + c_password + '@' + c_ip + ':' + c_port + '/'


    und darauf achten dass Du immer die gleichen Zeichen zum einrücken benutzt, sprich entweder mit Tabs oder mit Leerzeichen aber
    nicht mischen -> kann zu unerwünschten Verhalten führen.

    Cheers
    Claudia

  • Danke. Hat geklappt.
    Hätte jetzt nicht gedacht, dass das Einrücken so wichtig ist. Kenne das zwar von PHP, aber dachte bisher immer, es dient nur zur besseren Übersicht.
    Dann fummel ich mal weiter und melde mich beim nächsten Hänger.

    Das ist sogar immens wichtig in Python, da darüber erkannt wird was zu einem Codeblock gehört.
    In anderen Sprachen hast Du ja Klammern (wie in C/C++ ...) oder End statements wie in VB, aber
    Python nutzt da das einrücken.

    Cheers
    Claudia

  • Um es nochmal auf den Punkt zu bringen: Als Indent bezeichnet man eine Text- bzw. auch eine Absatzeinrückung. Ein 'Indentation Error' ist demzufolge auch immer ein Einrückungsfehler. Bei PHP ist es - wie angemerkt - Schönheit, bei Python kennzeichnet man so Programmblöcke (quasi die geschweiften Klammern bei PHP).

    Mann kann 4 Leerzeichen (Standard), 8 Leerzeichen oder Tabulatoren für Indents verwenden. Man(n) sollte sich jedoch auf ein Verfahren festlegen, da ein Gemisch aus Tabs und Leerzeichen schnell zu Fehlern führt. Spezielle IDEs für Python berücksichtigen sowas bereits im Ansatz. Notepad++ gehört nicht dazu! Hier empfehle ich PyCharm von JetBrains oder halt ein Eclipse-Derivat.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Notepad++ mag zwar das Universaltool für alle möglichen Skriptsprachen sein, für Python ist es nicht zu gebrauchen. Man kann zwar Tabs/Leerzeichen einstellen, allerdings erfolgt keine automatische Einrückung/Konvertierung bei gemischten Indents. Das Problem hatte ich mit NP++ ein paar mal und das können 'richtige' IDEs (dazu noch abgesehen von Autovervollständigung, Projektverwaltung usw.) besser.

    Wer mal mit PyCharm gearbeitet hat, kloppt NP++ in die Tonne.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • @BJ1

    > Notepad++ mag zwar das Universaltool für alle möglichen Skriptsprachen sein, für Python ist es nicht zu gebrauchen.

    Das kann ich so nicht bestätigen, ich benutze, und weiß das der Großteil meiner Kollegen das ebenfalls tun,
    zu 99% Notepad++ für Pythonprogrammierung.

    > Man kann zwar Tabs/Leerzeichen einstellen, allerdings erfolgt keine automatische Einrückung/Konvertierung bei gemischten Indents

    kann relativ einfach mit dem Python Script Plugin realisiert werden

    >dazu noch abgesehen von Autovervollständigung, Projektverwaltung usw.)

    auch das kann entweder via Python Script Plugin und/oder anderen Plugins gelöst werden.

    >Wer mal mit PyCharm gearbeitet hat, kloppt NP++ in die Tonne.

    Kann sein, muß aber nicht. Letztendlich kommt es darauf an wie und warum es genutzt wird.
    Ich denke die meisten Notepad++ User wissen gar nicht wie mächtig das Tool sein kann, spezielle in
    Verbindung mit Plugins wie Python Script. Damit kann ich letztendlich alles mit Notepad++ realisieren
    was eine IDE ausmacht bzw. alles was für einen wichtig ist. Der eine das der andere dies.
    Aber ja, nicht jeder ist in der Lage dies auch zu tun und benutzt dann lieber einen anderen
    Editor oder IDE oder nicht jedem gefällt wie Notepad++ etwas tut und benutzt deswegen eine
    andere Lösung - jedem das seine.

    Wenn ich aber mit mehreren Programmiersprachen arbeiten muß, dann ist es mir persöhnlich lieber
    einen Editor zu haben der alles abdecken kann, anstelle von vielen IDEs die optimiert für eine Sprache
    etwas tun.

    Aber wie gesagt - jedem das seine.

    Cheers
    Claudia

  • Wenn ich aber mit mehreren Programmiersprachen arbeiten muß, dann ist es mir persöhnlich lieber
    einen Editor zu haben der alles abdecken kann, anstelle von vielen IDEs die optimiert für eine Sprache
    etwas tun.

    Und genau das ist das Problem: Notepad++ kann zwar alles, aber nichts richtig. Verstehe mich bitte nicht falsch, NP++ erfüllt durchaus seinen Zweck, wenn es aber um Projektverwaltung (Git), Ressourcen-/Moduleinbindung, Verwaltung von Namespaces, einen komfortablen Editor usw. geht, ist bei NP++ schnell Ende Gelände.

    Wenn man professionelle Bildbearbeitung machen möchte, nimmt man ja auch Photoshop und nicht PaintShop Pro.

    Schau mal ins Portfolio von JetBrains: http://www.jetbrains.com

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Und genau das ist das Problem: Notepad++ kann zwar alles, aber nichts richtig. Verstehe mich bitte nicht falsch, NP++ erfüllt durchaus seinen Zweck, wenn es aber um Projektverwaltung (Git), Ressourcen-/Moduleinbindung, Verwaltung von Namespaces, einen komfortablen Editor usw. geht, ist bei NP++ schnell Ende Gelände.
    Wenn man professionelle Bildbearbeitung machen möchte, nimmt man ja auch Photoshop und nicht PaintShop Pro.

    Schau mal ins Portfolio von JetBrains: http://www.jetbrains.com

    Ich akzeptiere dein Ansicht zu 100%, aber

    das liegt meines Erachtens im Auge des Betrachters und ich wiederhole mich da,
    jede(r) IDE(Editor) hat seine Berechtigung, der eine kann dieses gut der andere jenes.
    Dem einen Nutzer gefällt dies dem anderen das jedoch nicht.

    Ja, ich bin ein Notepad++ Fan und wenn mich jemand fragt was für einen Editor man
    benutzen soll würde ich Notepad++ empfehlen, aber entscheiden muß man selber.
    Ja, Notepad++ kann von Haus aus nicht was PyCharm bietet aber mit ein bisschen Recherche,
    Plugins und Python scripting kann vieles, wenn nicht alles gelöst, werden.

    Wenn es allerdings um PROFESSIONELLE Programmierung geht, dann würde ich denke ist es
    ein ganz anderes Thema, und da gibt es unter Umständen ganz andere Gesichtpunkte zu berüchsichtigen
    als welchen Editor ich benutze.
    Z.B. Teamarbeit, Sicherheit, Versionierungsunterstützung, Qualitymanagment, Open-Source (?) ...

    Aber ein Kodi-Addon zu entwickeln ... fällt das darunter ?? ;)


    Und für einen Anfänger bin ich soagr der Meinung das es besser ist NICHT eine MACH-MIR-ALLES-IDE zu benutzen,
    da man, meiner Meinung nach, durch gemachte Fehler schneller und effektiver die Programmierungssprache lernt. Man muß sich ja mit den Fehlern auseinandersetzen.

    Cheers
    Claudia

  • Und für einen Anfänger bin ich soagr der Meinung das es besser ist NICHT eine MACH-MIR-ALLES-IDE zu benutzen,
    da man, meiner Meinung nach, durch gemachte Fehler schneller und effektiver die Programmierungssprache lernt. Man muß sich ja mit den Fehlern auseinandersetzen.

    Nein. Man muss sich mit Problemen und Irritationen rumschlagen, die man ohne vernünftige IDE überhaupt nicht hat.


    Aber ein Kodi-Addon zu entwickeln ... fällt das darunter ??

    Nach der Einbindung von xbmcstubs (das macht man in der IDE) kennt PyCharm alle XMBC-Module (xbmcaddon, xbmcplugin, xbmcgui, ...) nebst der implementierten Klassen, deren Methoden und Eigenschaften. Sehr komfortabel.

    Definierte, allerdings nicht verwendete Module (passiert bei import ... sehr oft) und Funktionen, Klassen, Variablen etc. epp. werden ausgegraut - man sieht auf einem Blick unnötigen obsoleten Code.

    Könnte ich jetzt noch beliebig fortführen. Ich kenne sowohl NP++ als auch PyCharm. Ich möchte hier niemanden missionieren, aber man sollte mal über den Tellerrand schauen.

    Wenn Du's ausprobiert hast und immer noch der Meinung bist, NP++ ist Top und der Rest ist Scheisse, dann ist das so.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Nein. Man muss sich mit Problemen und Irritationen rumschlagen, die man ohne vernünftige IDE überhaupt nicht hat.

    Und dann kommte es dazu das man das Einrücken als Clean-Code-Style versteht ;)


    Ich will Dir nicht absprechen das Du mit pyCharm das bekommst was Du willst, ne das ist für mich klar, hast Du ja selbst gesagt.
    Aber ich denke Du unterschätzt Notepad++ (Npp) in Verbindung mit dem Python Script Plugin. Kann ich alles damit realisieren.

    Auch ich möchte Dich nicht von Npp überzeugen bzw. wieder zurückgewinnen - bringt weder dir noch mir etwas.

    Warum bist Du der Meinung das ich nicht schon über den Tellerrand geschaut habe? Vlt. bin ich gerade deswegen zu Npp gekommen weil es für MICH die Lösung ist.

    Cheers
    Claudia

  • Auch ich möchte Dich nicht von Npp überzeugen bzw. wieder zurückgewinnen - bringt weder dir noch mir etwas.

    Warum bist Du der Meinung das ich nicht schon über den Tellerrand geschaut habe? Vlt. bin ich gerade deswegen zu Npp gekommen weil es für MICH die Lösung ist.

    Ich habe jahrelang mit NP++ gearbeitet. Ich kenne PSPad (ähnlicher Funktionsumfang). Ich kenne Eclipse, deren Ableger für die WP wie Aptana usw. ;) . Aber ich sehe schon, einem Fanboy (bzw. Fanwoman) was anderes nahe zu legen, ist aussichtslos.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!