Wir erstellen ein Addon (simples Tutorial von Anfang bis Ende)

  • Es wird immer einen Tag Pause geben .So das ich die eventuell auflaufenden Fragen beantworten kann.

    Du gibst ja das Vorlesungs-Skript für den Leistungskurs vor - keine Frage. Aber willst Du die "Seminare" ganz alleine durchziehen oder sollen Dir bei Fragen auch die Python-erfahrenen User evtl. als "Hilfsassistenten" zur Verfügung stehen?

    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

  • Du gibst ja das Vorlesungs-Skript für den Leistungskurs vor - keine Frage. Aber willst Du die "Seminare" ganz alleine durchziehen oder sollen Dir bei Fragen auch die Python-erfahrenen User evtl. als "Hilfsassistenten" zur Verfügung stehen?

    Ich denke Jan unterschätzt das Ganze noch etwas. Wenn hier die Fragen losgehen und 50 User gleichzeitig schreiben und Antworten erwarten, dann gerät das Ganze imho recht schnell aus dem Ruder. Deswegen wäre es, denke ich, sehr gut wenn User wie du und andere die Phyton/Addon-bewandert sind bei Fragen unter die Arme greifen würden. Ich behaupte sonst wird das seeehr schnell unübersichtlich und artet aus ;)

    Vielleicht könnte man sich zusätzlich zum Forum, indem schon alles dokumentiert sein sollte, noch im TS Channel treffen, damit Kleinigkeiten gefragt und dann inklusive Antwort sofort in den Thread gepostet werden können... Natürlich nur wenn Jan darauf Bock hat!

  • [h1]Was ist ein Text-Editor ?[/h1]

    Ein Texteditor ist ein Programm , mit dem Du Textdateien schreiben kannst ( eine Textdatei ist eine Datei, die aus einzelnen Linien die Du auf einer Tastatur eingibst ) besteht. Eine gemeinsame Endung fürTextdateien ist .txt.Python Dateien sind im Prinzip Textdateien die die Endung .py haben.

    [h1]Python 2.7 installieren[/h1]

    Bevor wir mit der Installation und Einrichtung unseres Texteditors beginnen.
    Installieren wir uns erst einmal Python in der Version 2.7.
    Wir benutzen diese Version da es die auch im Moment unter Kodi genutzte Python Version ist.
    Dazu gehen wir auf https://www.python.org/downloads/windows/und laden uns den Installer für Python 2.7.10 (in der 32 oder 64 Bit Version , je nach verwendeten OS) runter.
    Und installieren diese durch ausführen der .exe Datei

    [h1]Installation von Notepad++ als Editor[/h1]

    Dazu gehen wir Im Browser auf https://notepad-plus-plus.org/ und dort auf download.
    Unter Downloads wählen wir den Notepad++Installer.momentaner Link zur aktuellen Version :https://notepad-plus-plus.org/repository/6.x…6.Installer.exe
    Dann downloaden und installieren wir den Notepad++.

    [h1]Konfigurieren von Notepad ++[/h1]

    Jetzt haben wir zwar Notepad++ installiert müssen ihn aber noch anpassen das er für unsere Zwecke als kleine Python IDE (Integrierte Endwicklungs Umgebung) dienen kann.

    Schrift Einstellung:

    Wir gehen auf Einstellungen Stil und setzen die Schriftart auf Curier New und die Größe auf 12 und speichern das ganze.

    NppExec Plugin:

    Als nächstes brauchen wir das NppExec Plugin .
    Dazu öffnen wir das Menü Erweiterungen und schauen ob NppExec schon aufgelistet wird.
    Ist das nicht der Fall wechseln wir unter Erweiterungen zu Plugin Manager -Show Plugin Manager.
    Es öffnet sich ein neues Fenster und eine Liste von verfügbaren Plugins wird generiert.
    Dort sucht Ihr euch das NppExec plugin selektiert es und drückt auf Install.
    Nach Der Installation fordert euch Notepad++ neu zu starten drückt ja und wartet bis Notpad++ wieder geladen ist.
    Jetzt können wir unter dem Menü Erweiterungen den Eintrag NppExec sehen das wir nun konfigurieren werden.

    Konfiguration des NppExec Plugin:

    Wir gehen zu Erweiterungen Nppexec und machen das folgende verfügbar(klick dann blauer Haken):

    1. Enable "Show Console Dialog"
    2. Enable "Save all files on execute"
    3. Enable "Follow $(CURRENT_DIRECTORY)"

    [h1]Short-cut keys (Schnellzugriffstasten)[/h1]

    Wir definieren jetzt eine Funktion die wir auf eine Schnellzugriffstaste legen , um unseren späteren Python Code auch gleich unter Notepad++ ausführen zu können.

    1. Gehe zu Erweiterungen > NppExec > Execute...
    2. wähle "Cancel" wenn eine Save File Dialog Box sich öffnet – normaler weise ist das nicht so
    3. Schreibe das folgende Kommando in das Fenster:

    Für das 2 Kommando brauchen wir den Pfad zur Ausführbaren Python.exe.
    Um dieses raus zu bekommen öffnet ihr Euer C Laufwerk im Dateimanager (Explorer) und sucht das Verzeichnis Python27.
    Bei mir ist es direkt im C Laufwerk so das folgendes Kommando in das Fenster geschrieben werden muß.

    cd "$(CURRENT_DIRECTORY)"
    C:\Python27\Python "$(FILE_NAME)"

    Haben wir das getan drücken wir save .
    Eine Eingabe Zeile für den Namen erscheint.
    Wir Nennen es Run Python.
    Drücken wieder Save und anschließend ok.

    [h1]5.Erstellung des Scriptes für die auszuführende Schnellzugriffstaste(Run Python) :[/h1]

    Wir gehen zu Erweiterungen - NppExcec - Advance Options :

    klicken auf das Kästchen vor "Place to the Macros submenu" (es erscheint ein blauer Haken)und wir können nun unter Associated script Run Python auswählen.
    Haben wir es ausgewählt drücken wir den "Add/Modify" Button.
    Jetzt erscheint Run Python im "Place to the Macros submenu" Fenster und wir können ok drücken.
    Nach dem wir ok gedrückt haben startet Notepad++ Neu.

    [h1]Installation weitere wichtiger Plugins:[/h1]

    Wir Wechseln zu Erweiterungen Plugin Manager -Show Plugins .
    Suchen in dem erscheinenden Fenster "Python Indent" und installieren es.

    Wir gehen erneut zu Erweiterungen Plugin Manager -Show Plugins und installieren uns das Plugin "Explorer".

    Anschließend wechseln wir zu Erweiterungen -Explorer -Explorer und klicken (ein Blauer Pfeil erscheint und wir haben auf der rechten Seite in unserem Notepad++ ein Explorer (Dateimanager) Fenster.

    Jetzt gehen wir im Windows EXplorer auf Dokumente und Erstellen uns einen neuen Ordner "Python Projekte".
    Nun öffnen wir diesen Ordner im Windows-Explorer und erstellen einen neuen Ordner "tools" (wichtig für später groß und Kleinschreibung beachten).
    Nun starten wir Notepad++ , gehen ins obere Explorer Fenster und suchen uns C -User - euer username -Documents - Python Projekte und selektieren das.
    Im unteren Explorer Fenster sehen wir nun Euren tools Ordner.


    [h1]Erweiterte Einstellungen:[/h1]

    Bitte unter Optionen-->Tabulatoren--> Python-->durch Leerzeichen Ersetzen Anklicken(blauer Pfeil)

    Jetzt können wir Notepad++ schließen.

  • Teil 1 ist Oben einfach immer Link im ersten Post auswählen und ihr kommt direkt zum selektierten Teil des hmmm Kurses.

    Fragen Bitte immer unter den jeweiligen vorhandenen Teil des Kurses.

    Also ab der nächsten Post geht es los.

    Bitte alles schön durcharbeiten so das wir Morgen nicht mehr so viele vorarbeiten haben und uns den Interessanten Sachen widmen können.

    Wie gesagt würde ich mich über eine kleine Spende für die Durchführung dieses Kurses von jeden einzelnen Teilnehmer freuen Paypal email ist im erstem Post dieses Threads!

    Gruß Jan

  • Hi Jan

    Super Anleitung :thumbup:

    Hat fast alles geklappt, ausser bei dem Punkt, musste ich Notepad++ selber neustarten. Ist das ein Problem?

    Zitat


    5.Erstellung des Scriptes für die auszuführende Schnellzugriffstaste(Run Python) :

    Wir gehen zu Erweiterungen - NppExcec - Advance Options :klicken auf das Kästchen vor "Place to the Macros submenu" (es erscheint ein blauer Haken)und wir können nun unter Associated script Run Python auswählen.Haben wir es ausgewählt drücken wir den "Add/Modify" Button.Jetzt erscheint Run Python im "Place to the Macros submenu" Fenster und wir können ok drücken.Nach dem wir ok gedrückt haben startet Notepad++ Neu.


    Wie kann ich erkennen, ob ich die Punkte alle richtig ausgeführt habe?

    Bin absoluter Neuling beim programmieren. Aber wollte immer mal ein eignes Addon machen bloss wie. :( In GOOGLE konnte ich auch nie was vernünftiges finden.

    So ich komme gleich zu meinen ersten Fragen?
    Was ist Python?
    Wofür brauche ich Pyton in dem Addon?
    Ist Phyton nur was für Kodi, oder kann man das auch andersweitig benutzen?

    Gruß Andy

    Meine Systeme
    Win7 PC mit Kodi 15.2 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (Wohnzimer)
    Fire TV Stick mit Kodi 15.2 Isengard (Schlafzimmer)
    Ipad 3 IOS 9.0.2 mit Kodi 15.2 Isengard

  • Das Problem für mich war das in Geany die Formatierungen oft bei Veränderungen nicht mehr hingehauen haben.

    So das ich davon ganz schnell abgekommen bin.
    Du hast es Dir aber so eingerichtet das Du den Python Code in Geany direkt ausführen kannst und Du benutzt Python 2.7?
    Denn in Python 2.7 ist schon wichtig da Kodi das momentan Unterstützt und die Syntax der Befehle bei dem 3 er Python anders sind.

    Lege Dir aber Bitte den Ordner Python Projekte und in Ihm das Verzeichnis is tools an!


    Habe mal ne Weile Gedit als Ide benutzt mußte man auch noch viel Nachinstallieren war aber genau wie Notepad++ sehr zuverlässig und schnell.
    Ich hasse diesen aufgeblasenen Mist.


    Gruß Jan

  • a , ich denke Du hast anschließend nicht ok gedrückt oder?

    Doch habe ich.

    Externer Inhalt fs5.directupload.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Nach dem drücken von ok, bleibt Notepad++ bei mir offen.
    Meine Spende ist gerad raus gegangen.

    Gruß Andy

    Meine Systeme
    Win7 PC mit Kodi 15.2 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (Wohnzimer)
    Fire TV Stick mit Kodi 15.2 Isengard (Schlafzimmer)
    Ipad 3 IOS 9.0.2 mit Kodi 15.2 Isengard

  • So ich komme gleich zu meinen ersten Fragen?
    Was ist Python?
    Wofür brauche ich Pyton in dem Addon?
    Ist Phyton nur was für Kodi, oder kann man das auch andersweitig benutzen?

    • Python ist eine Programmiersprache weitere Sprachen sind Java, C#, C++ und und....
    • Man muss sich ja auf irgend einer Sprache verständigen so braucht man Deutsch in Deutschland
    • Phyton wir nicht nur in KODI genommen auch in Linux und in Windows kann man es nähmen bei Windows muss man aber eine Art übersetzter dazu packen wen ich richtig Informiert bin.

    Ich bin mit dem Programm noch nicht so vertraut habe so Zeug wie print "Hallo" versucht das geht. Ob ich die 2.7 jetzt habe oder die 3.0 weiß ich nicht dachte es kommt darauf an was ich am Anfang vom Script definieren.
    Oder aber das der unterschied durch die Schreibweise automatisch erkannt wird. Geany habe ich vor einer ganzen weile eingerichtet und leider einiges vergessen weil ich nicht weiter kam und die Zeit dann nicht mehr hatte.

  • Bin absoluter Neuling beim programmieren. Aber wollte immer mal ein eignes Addon machen bloss wie. In GOOGLE konnte ich auch nie was vernünftiges finden.

    So ich komme gleich zu meinen ersten Fragen?
    Was ist Python?
    Wofür brauche ich Pyton in dem Addon?
    Ist Phyton nur was für Kodi, oder kann man das auch andersweitig benutzen?

    Da es das erste Deutsche Tutorial ist was ich mache ist es noch nicht Perfekt.

    Die Frage was Python ist und worin es sich von anderen Programmiersprachen unterscheidet
    Wie die Geschichte von Python in Xbmc ist usw.
    Werde ich in einen extra Thema behandeln .

    Nur soweit.
    Alles was ich in Python programmiere .
    Baue ich so das ich es auch bei bedarf wo anders weiter benutzen kann.
    Das Heist xbmc gibt nur den Gui (Oberfläche) Setze ich eine andere Oberfläche drauf funktioniert der Grundcode auch dort!

    Ich bin mit dem Programm noch nicht so vertraut habe so Zeug wie print "Hallo" versucht das geht. Ob ich die 2.7 jetzt habe oder die 3.0 weiß ich nicht dachte es kommt darauf an was ich am Anfang vom Script definieren.
    Oder aber das der unterschied durch die Schreibweise automatisch erkannt wird. Geany habe ich vor einer ganzen weile eingerichtet und leider einiges vergessen weil ich nicht weiter kam und die Zeit dann nicht mehr hatte.

    Es ist schon Wichtig das Du in Geany den Verweis zu python27 setzt.

    Ein Beispiel :

    Unter python 2.7
    gibt print 'Hallo'

    Hallo

    unter python 3 gibt es eine Fehlermeldung

    Denn der Code für die prrint Anweisung ist so:

    print ('Hallo')

    und so ist die Synatx in vielen Bereichen Unterschiedlich .
    Das heißt willst Du ein addon für Kodi erstellen brauchst Du Python 2.7 (momentan)


    Gruß Jan

  • Top
    Eine Anmerkung zum Notepad++
    Optionen-->Tabulatoren--> Python-->durch Leerzeichen Ersetzen SOllte angehakt sein. war bei mir nicht. Das kann zimlich nerfig sein weil es dan womoeglich Fehler schmeißt
    Vileeicht in deine Doku mit aufnehmen

    Danke!

    Daran habe ich nicht gedacht und werde das Thema auch aus diesen Grund nochmals bearbeiten.

  • So für Heute gibt es nichts weiter denn ich muß aus Gründen der Übersichtlichkeit bis Morgen warten!
    Damit alle User die Chance haben das erste Thema abzuarbeiten.


    Morgen Früh werde ich dann die restlichen Fragen beantworten.

    Ihr könnt Natürlich mal den Editor testen .
    In dem Ihr ein Neue Datei erstellt (Datei -Neu)
    und in Diese

    print 'Das ist mein erster Code'

    schreibt.

    Dann auf Makro Run Python geht.

    Der File wird dann ersteinmal gespeichert.
    Also gebt ihn einen Namen und als Dateityp wählt Ihr PythonFile und drückt auf speichern.
    Es erscheint ein neues Fenster un ihr drückt ok.

    Dann seht Ihr unten in der Console die Ausgabe eures ersten kleinen Python Programmes.


    Gruß Jan

  • @Dima

    Du mußt in Geany den Verweis zur ausführbaren bin auf python 2.7 setzen.

    Man kann nicht in einem Addon alle unterschiedlichen Syntaxe von Python 2.7 zu 3. behandeln.
    Fakt ist das Kodi python 2.7 versteht und genau in dieser Python Version werden die Addons geschrieben.
    Auf alles andere Werde ich hier nicht eingehen, Da es sich um ein Thread zur Erstellung von Addons für Kodi handelt und dafür brauchen wir momentan python 2.7.

    Also Bitte ändere das oder sehe einfach nach ob ein.

    print 'Hallo' dir einen Fehler gibt wenn ja python 3 wenn nicht python 2


    Gruß Jan

    Ps bedanke mich an die die gespendet haben und hoffe die anderen ziehen nach

    Ansonsten werde ich das dann wohl in einen kleineren Kreis durchführen müssen kleinere Kreis bedeutet momentan Einer.
    Was mich dann weniger Zeit kosten würde und für die einzelnen bestimmt auch besser wäre.

  • OK dann passt es ja!

Jetzt mitmachen!

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