Subject: Re: [PATCH] Support for arbitrary main script names in Python plasmoids

Richard Dale richard.j.dale at gmail.com
Fri Feb 12 11:17:11 CET 2010


On Thu, Feb 11, 2010 at 11:34 PM, Diego Casella ([Po]lentino)
<polentino911 at gmail.com> wrote:
>> ---------- Messaggio inoltrato ----------
>> From: Richard Dale <richard.j.dale at gmail.com>
>> To: plasma-devel at kde.org
>> Date: Thu, 11 Feb 2010 18:37:55 +0000
>> Subject: Re: [PATCH] Support for arbitrary main script names in Python
>> plasmoids
>> On Thu, Feb 11, 2010 at 6:02 PM, Luca Beltrame <einar at heavensinferno.net>
>> wrote:
>> > Hello,
>> >
>> > currently if you use Python plasmoids the main script *must* be named
>> > "main.py" because it is hardcoded into pyappletscripts.py. When using a
>> > different mainscript in the .desktop file (like Plasmate does) this will
>> > ensure the plasmoid will not run (you get a NameError exception).
>> Well currently in Plasmate there is not way to specifiy the main
>> script (or main class).
>
> Actually, the main script and main class names are taken from the project
> name; if you create a
> RubyClock project, Plasmate will create a rubyclock.rb file, with a
> MainRubyClock class inside it :)
>>
>> The Ruby plasmoid implementation doesn't use the Ruby equivalent of
>> __dict__, but simply derives the main class name from the main script
>> name. So I wasn't sure is you should specifiy a main *class* name in
>> Plasmate like FooBar which would give a main script name of
>> foo_bar.rb. Or whether you should give a main script name of
>> foo_bar.rb the Plasmate form from which the class 'FooBar' is then
>> derived.
>>
>> Currently in Plasmate the name of the applet is used to derive both
>> the module (like a namespace), and the name of the class, which I
>> think is wrong. For example, if you call your applet FooBar you get:
>>
>> module FooBar
>>  class FooBar< PlasmaScripting::Applet
>> ...
>>
>> I would rather the class was called 'Main' if you don't specifiy a main
>> script.
>
> I'm sorry, but this is wrong: I've taken care of avoiding it since the
> beginning
> (I also reverted, a couple of days ago, a commit[1] that did exactly what
> you just
> described ).
Ah OK - I was testing what the 'The_User' had just commited, which you
have reverted. I think the name of the main script was wrong for
MainForBar - it should be code/main_foo_bar.rb, and fixing that was
why he made the change. Personally if a main script isn't specified I
would prefer a class name of 'Main' and main script of 'main.rb' for
Ruby.

> Plasmate creates by default a
>
> Main<ProjectName> class for ruby and python plasmoids.
>

-- Richard


More information about the Plasma-devel mailing list