Skip to content
Snippets Groups Projects
Commit 54951231 authored by Anael Beutot's avatar Anael Beutot
Browse files

Removed plugins.py

parent 40aaf4d6
No related branches found
No related tags found
No related merge requests found
......@@ -16,8 +16,8 @@ from subprocess import Popen, PIPE, STDOUT
from sjrpc.utils import pass_connection, threadless
from sjrpc.core.protocols import TunnelProtocol
from cloudcontrol.common.client.tags import Tag, tag_inspector
from cloudcontrol.common.client.plugins import Base as BasePlugin
from cloudcontrol.node.plugins import Base as BasePlugin
from cloudcontrol.node.host import tags
......
"""Plugins helpers for Cloud Control node."""
from cloudcontrol.node.tags import TagDB
class Base(object):
"""Example skeleton plugin for cc-node.
If you want to create your own plugin for the `cc-node` you may create an
object that would quack just like this one or just inherit from this class.
"""
def __init__(self, *args, **kwargs):
"""
:param loop: MainLoop instance
"""
#: MainLoop instance
self.main = kwargs.pop('loop')
# plugins may define tags (see :mod:`ccnode.tags`)
self.tag_db = TagDB()
# plugins may define handler functions that would be called by the
# server
self.rpc_handler = dict()
# tag_db and rpc_handler can be implemented as properties if more logic
# is needed
def __hash__(self):
"""This method is used when registering a plugin in the main loop.
By default, only one instance is allowed. Subclasses can overide this
method to change this behaviour.
"""
return hash(self.__class__.__name__)
def start(self):
"""Used to start pyev watchers."""
pass
def stop(self):
"""Cleanup for plugins, can be used to clean pyev watchers."""
self.main = None
# TODO dependencies
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment