> ---------- Messaggio inoltrato ---------- > From: Richard Dale <richard.j.d...@gmail.com> > To: plasma-devel@kde.org > Date: Fri, 12 Feb 2010 23:59:06 +0000 > Subject: Re: Subject: Re: [PATCH] Support for arbitrary main script names > in Python plasmoids > On Fri, Feb 12, 2010 at 10:17 AM, Richard Dale <richard.j.d...@gmail.com> > wrote: > > On Thu, Feb 11, 2010 at 11:34 PM, Diego Casella ([Po]lentino) > > <polentino...@gmail.com> wrote: > >>> ---------- Messaggio inoltrato ---------- > >>> From: Richard Dale <richard.j.d...@gmail.com> > >>> To: plasma-devel@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 < > ei...@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. > I've just commited some changes to the Ruby folder and main script > name generation in Ruby so that it now works correctly. If you name > you project FooBar it will be put in a folder called 'foo_bar' and the > main script will be called 'main_foo_bar.rb'. If you don't follow this > convention the correct module and class name will not be generated > when the Ruby script engine tries to load the applet. I also enabled > creating Ruby Data Engines, as the Ruby api works file. > > -- Richard > > That's great, thanks :)
> _______________________________________________ > Plasma-devel mailing list > Plasma-devel@kde.org > https://mail.kde.org/mailman/listinfo/plasma-devel > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel