octoprint-ldap/README.md

58 lines
2.1 KiB
Markdown
Raw Normal View History

2015-01-27 11:58:19 +00:00
OctoPrint Plugin Skeleton
=========================
2015-01-27 11:25:05 +00:00
This is a basic plugin skeleton that you can use as a basis for your own OctoPrint plugin.
2015-03-31 16:34:17 +00:00
You can copy the files to a folder of your choice, or just clone this repository, renaming it in the process. Then
modify ``setup.py`` to fit your plugin, rename ``octoprint_skeleton`` accordingly and finally implement your plugin
under ``octoprint_<plugin identifier>``.
2015-01-27 11:58:19 +00:00
Example Usage
-------------
Clone your repository into a new development directory and rename ``octoprint_skeleton``:
git clone https://github.com/OctoPrint/OctoPrint-PluginSkeleton OctoPrint-MyNewPlugin
cd OctoPrint-MyNewPlugin
mv octoprint_skeleton octoprint_mynewplugin
Modify `setup.py`'s `plugin_<xyz>` settings so that they match your plugin, e.g.:
2015-01-27 12:00:37 +00:00
``` python
2015-01-27 11:58:19 +00:00
plugin_identifier = "mynewplugin"
plugin_name = "OctoPrint-MyNewPlugin"
plugin_version = "1.0"
plugin_description = "Awesome plugin that does something"
plugin_author = "You"
plugin_author_email = "you@somewhere.net"
plugin_url = "https://github.com/you/OctoPrint-MyNewPlugin"
2015-01-27 12:00:37 +00:00
```
2015-01-27 11:58:19 +00:00
Then implement your plugin under ``octoprint_mynewplugin`` (don't forget to adjust ``__init__.py``!), e.g.:
2015-01-27 12:00:37 +00:00
``` python
2015-01-27 11:58:19 +00:00
# coding=utf-8
from __future__ import absolute_import
import octoprint.plugin
class HelloWorldPlugin(octoprint.plugin.StartupPlugin):
def on_after_startup(self):
self._logger.info("Hello World!")
2015-01-27 12:02:32 +00:00
2015-01-27 11:58:19 +00:00
__plugin_name__ = "Hello World"
2015-03-31 16:34:17 +00:00
__plugin_implementation__ = HelloWorldPlugin()
2015-01-27 12:00:37 +00:00
```
2015-01-27 11:58:19 +00:00
2015-01-27 12:02:32 +00:00
Test it (e.g. via ``python setup.py develop``). If everything works, write a nice ``README.md``, replacing the existing one.
Commit your code, then push it to your plugin's repository (this assumes you already created it on Github as
``you/OctoPrint-MyNewPlugin``), e.g.:
2015-01-27 11:58:19 +00:00
git commit -a -m "Initial commit of MyNewPlugin"
git remote set-url origin git@github.com:you/OctoPrint-MyNewPlugin.git
git push -u origin master
Congratulations, you are now the proud maintainer of a new OctoPrint plugin! :) Don't forget to add an entry to the
2015-03-31 16:34:17 +00:00
[wiki](https://github.com/foosel/OctoPrint/wiki#plugins) once it's suitable for general consumption, so that others
2015-01-27 11:58:19 +00:00
may find it!