diff options
Diffstat (limited to 'docs/write_addons.rst')
-rw-r--r-- | docs/write_addons.rst | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/write_addons.rst b/docs/write_addons.rst index 9f4436cc5..b7f6dfdb8 100644 --- a/docs/write_addons.rst +++ b/docs/write_addons.rst @@ -18,6 +18,7 @@ All addons should start with something like this: :: from pyload.plugin.Addon import Addon + class YourAddon(Addon): __name = "YourAddon" __version = "0.1" @@ -53,6 +54,7 @@ A basic excerpt would look like: :: from pyload.plugin.Addon import Addon + class YourAddon(Addon): """ Your Addon code here. @@ -61,6 +63,7 @@ A basic excerpt would look like: :: def activate(self): print "Yay, the core is ready let's do some work." + def downloadFinished(self, pyfile): print "A Download just finished." @@ -73,20 +76,25 @@ It requires a `dict` that maps event names to function names or a `list` of func from pyload.plugin.Addon import Addon + class YourAddon(Addon): """ Your Addon code here. """ + event_map = {'downloadFinished': "doSomeWork", 'allDownloadsFnished': "someMethod", 'activate': "initialize"} + def initialize(self): print "Initialized." + def doSomeWork(self, pyfile): print "This is equivalent to the above example." + def someMethod(self): print "The underlying event (allDownloadsFinished) for this method is not available through the base class" @@ -109,6 +117,7 @@ Sounds complicated but is very easy to do. Just use the ``Expose`` decorator: :: from pyload.plugin.Addon import Addon, Expose + class YourAddon(Addon): """ Your Addon code here. @@ -134,6 +143,7 @@ Just store everything in ``self.info``. :: from pyload.plugin.Addon import Addon + class YourAddon(Addon): """ Your Addon code here. @@ -142,6 +152,7 @@ Just store everything in ``self.info``. :: def setup(self): self.info = {'running': False} + def activate(self): self.info['running'] = True |