Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

Hilfe bei Plugin-Programmierung

Allgemeines zum Thema EventGhost
Post Reply
User avatar
topix
Experienced User
Posts: 441
Joined: Sat May 05, 2007 3:43 pm
Location: Germany
Contact:

Hilfe bei Plugin-Programmierung

Post by topix »

Erst einmal "Hallo" an alle (da dies mein erstes Posting hier ist)

Ich versuche mir gerade ein Programm-Plugin zu schreiben. Da ich noch keine Programmiererfahrung (in Python) habe, gibts nat├╝rlich gleich Probleme. Wenn ich EG starte bekomme ich folgende Fehlermeldung in der Ereignisliste:

Code: Select all

 Error while loading plugin-file plugins\IrfanView/.
 Traceback (most recent call last) (964):
   File "C:\Programme\EventGhost\plugins\IrfanView\__init__.py", line 179
     def __call__(self):
    ^
Im Quelltext sieht die Zeile (der Bereich) so aus:

Code: Select all

175   class Escape(eg.ActionClass):
176       name = "Escape"
177       description = "Aktuelles Fenster schliessen (Hauptfenster, Slideshow, Vollbild, Thumbnails oder einen Dialog)"
178    
179   	def __call__(self):
180           return eg.plugins.Window.SendKeys(u'{escape}', False)
Kann mir jemand sagen was ich da falsch mache?

2te Frage: Kann ich in den Beschreibungstexten der Actions auch Umlaute verwenden?
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Python ist SEHR genau wenn es um Einr├╝ckung geht. Es sieht so aus, als ob deine def __call__ Deklaration einfach einen Leerschritt zuwenig hat.
Daran denken: Einr├╝ckung sollte immer vier Leerschritte sein und den Editor so einstellen, dass er keine Tabulatoren verwendet (sondern nur Leerschritte).

Es würde wohl gehen Umlaute in den Strings zu haben, aber jedes Plugin sollte als Grundsprache Englisch verwenden. In andere Sprachen kann es dann mit dem Translation Editor geändert werden. Wenn es aber unbedingt sein muss, dann musst du als erste Zeile in Source-File folgende Deklaration haben:

Code: Select all

# -*- coding: LATIN-1 -*-
Und dann Unicode-Strings verwendet:

Code: Select all

description = u"Meine Beschreibung mit Umlauten ├╝├Â├ñ├£├û├ä├ƒ"
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
User avatar
topix
Experienced User
Posts: 441
Joined: Sat May 05, 2007 3:43 pm
Location: Germany
Contact:

Post by topix »

Vielen Dank für die hilfreiche Antwort. Die Einrückung war es tatsächlich. Nachdem ich die Tabs entfernt habe ist die Fehlermeldung weg.

Die Sache mit den Umlauten lasse ich dann erst mal. Wenn ich die Programmierung kapiert habe, kann ich mir danach mal den Translation Editor zu gem├╝te f├╝hren.
Post Reply