IRC-SPHERE / HyperStream

HyperStream
https://irc-sphere.github.io/HyperStream/
MIT License
13 stars 5 forks source link

Plugin/Tool helpers #28

Open tdiethe opened 6 years ago

tdiethe commented 6 years ago

It might be nice to have some helpers for creating plugins and/or tools. Ideally these would just be small python scripts (could also be bash scripts, but that'd exclude non-bash environments). The create plugin tool would create a python package as in tutorial 2:

|- one_plugin/
|   |- __init__.py
|   |- tools/
|       |- __init__.py

And the create tool would do the final part of creating a file with the appropriate name (default today's date and v0.0.1):

|       |- my_fancy_tool
|           |- __init__.py
|           |- 2017-06-20_v0.0.1.py

with some default contents, e.g.:

from hyperstream import Tool, StreamInstance
from hyperstream.utils import check_input_stream_count

class MyFancyTool(Tool):
    def __init__(self):
        super(MyFancyTool, self).__init__()

    @check_input_stream_count(0)
    def _execute(self, sources, alignment_stream, interval):
        raise NotImplementedError()