Inital commit
This commit is contained in:
commit
ff752b34c4
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
*.pyc
|
||||
*.swp
|
||||
.idea
|
||||
*.iml
|
||||
build
|
||||
dist
|
||||
*.egg*
|
||||
.DS_Store
|
||||
*.zip
|
||||
.atom
|
4
MANIFEST.in
Normal file
4
MANIFEST.in
Normal file
@ -0,0 +1,4 @@
|
||||
include README.md
|
||||
recursive-include octoprint_webcamtab/templates *
|
||||
recursive-include octoprint_webcamtab/translations *
|
||||
recursive-include octoprint_webcamtab/static *
|
17
README.md
Normal file
17
README.md
Normal file
@ -0,0 +1,17 @@
|
||||
# OctoPrint-WebcamTab
|
||||
|
||||
**TODO:** Describe what your plugin does.
|
||||
|
||||
## Setup
|
||||
|
||||
Install via the bundled [Plugin Manager](https://github.com/foosel/OctoPrint/wiki/Plugin:-Plugin-Manager)
|
||||
or manually using this URL:
|
||||
|
||||
https://github.com/malnvenshorn/OctoPrint-WebcamTab/archive/master.zip
|
||||
|
||||
**TODO:** Describe how to install your plugin, if more needs to be done than just installing it via pip or through
|
||||
the plugin manager.
|
||||
|
||||
## Configuration
|
||||
|
||||
**TODO:** Describe your plugin's configuration options (if any).
|
6
babel.cfg
Normal file
6
babel.cfg
Normal file
@ -0,0 +1,6 @@
|
||||
[python: */**.py]
|
||||
[jinja2: */**.jinja2]
|
||||
extensions=jinja2.ext.autoescape, jinja2.ext.with_
|
||||
|
||||
[javascript: */**.js]
|
||||
extract_messages = gettext, ngettext
|
57
octoprint_webcamtab/__init__.py
Normal file
57
octoprint_webcamtab/__init__.py
Normal file
@ -0,0 +1,57 @@
|
||||
# coding=utf-8
|
||||
from __future__ import absolute_import
|
||||
|
||||
__author__ = "Sven Lohrmann <malnvenshorn@gmail.com>"
|
||||
__license__ = "GNU Affero General Public License http://www.gnu.org/licenses/agpl.html"
|
||||
__copyright__ = "Copyright (C) 2017 Sven Lohrmann - Released under terms of the AGPLv3 License"
|
||||
|
||||
import octoprint.plugin
|
||||
|
||||
|
||||
class WebcamTabPlugin(octoprint.plugin.SettingsPlugin,
|
||||
octoprint.plugin.AssetPlugin,
|
||||
octoprint.plugin.TemplatePlugin):
|
||||
|
||||
# SettingsPlugin mixin
|
||||
|
||||
def get_settings_defaults(self):
|
||||
return dict()
|
||||
|
||||
# AssetPlugin mixin
|
||||
|
||||
def get_assets(self):
|
||||
return dict(
|
||||
js=["js/webcamtab.js"]
|
||||
)
|
||||
|
||||
# Softwareupdate hook
|
||||
|
||||
def get_update_information(self):
|
||||
return dict(
|
||||
webcamtab=dict(
|
||||
displayName="Webcam Tab",
|
||||
displayVersion=self._plugin_version,
|
||||
|
||||
# version check: github repository
|
||||
type="github_release",
|
||||
user="malnvenshorn",
|
||||
repo="OctoPrint-WebcamTab",
|
||||
current=self._plugin_version,
|
||||
|
||||
# update method: pip
|
||||
pip="https://github.com/malnvenshorn/OctoPrint-WebcamTab/archive/{target_version}.zip"
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
__plugin_name__ = "Webcam Tab"
|
||||
|
||||
|
||||
def __plugin_load__():
|
||||
global __plugin_implementation__
|
||||
__plugin_implementation__ = WebcamTabPlugin()
|
||||
|
||||
global __plugin_hooks__
|
||||
__plugin_hooks__ = {
|
||||
"octoprint.plugin.softwareupdate.check_config": __plugin_implementation__.get_update_information
|
||||
}
|
28
octoprint_webcamtab/static/js/webcamtab.js
Normal file
28
octoprint_webcamtab/static/js/webcamtab.js
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* View model for OctoPrint-WebcamTab
|
||||
*
|
||||
* Author: Sven Lohrmann
|
||||
* License: AGPLv3
|
||||
*/
|
||||
$(function() {
|
||||
function WebcamTabViewModel(parameters) {
|
||||
var self = this;
|
||||
|
||||
// assign the injected parameters, e.g.:
|
||||
// self.loginStateViewModel = parameters[0];
|
||||
// self.settingsViewModel = parameters[1];
|
||||
|
||||
// TODO: Implement your plugin's view model here.
|
||||
}
|
||||
|
||||
// view model class, parameters for constructor, container to bind to
|
||||
OCTOPRINT_VIEWMODELS.push([
|
||||
WebcamTabViewModel,
|
||||
|
||||
// e.g. loginStateViewModel, settingsViewModel, ...
|
||||
[ /* "loginStateViewModel", "settingsViewModel" */ ],
|
||||
|
||||
// e.g. #settings_plugin_webcamtab, #tab_plugin_webcamtab, ...
|
||||
[ /* ... */ ]
|
||||
]);
|
||||
});
|
9
requirements.txt
Normal file
9
requirements.txt
Normal file
@ -0,0 +1,9 @@
|
||||
###
|
||||
# This file is only here to make sure that something like
|
||||
#
|
||||
# pip install -e .
|
||||
#
|
||||
# works as expected. Requirements can be found in setup.py.
|
||||
###
|
||||
|
||||
.
|
51
setup.py
Normal file
51
setup.py
Normal file
@ -0,0 +1,51 @@
|
||||
# coding=utf-8
|
||||
from setuptools import setup
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
plugin_identifier = "webcamtab"
|
||||
plugin_package = "octoprint_webcamtab"
|
||||
plugin_name = "OctoPrint-WebcamTab"
|
||||
plugin_version = "0.1.0"
|
||||
plugin_description = """Moves webcam stream in own tab"""
|
||||
plugin_author = "Sven Lohrmann"
|
||||
plugin_author_email = "malnvenshorn@gmail.com"
|
||||
plugin_url = "https://github.com/malnvenshorn/OctoPrint-WebcamTab"
|
||||
plugin_license = "AGPLv3"
|
||||
plugin_requires = []
|
||||
plugin_additional_data = []
|
||||
plugin_additional_packages = []
|
||||
plugin_ignored_packages = []
|
||||
additional_setup_parameters = {}
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
try:
|
||||
import octoprint_setuptools
|
||||
except ImportError:
|
||||
print("Could not import OctoPrint's setuptools, are you sure you are running that under "
|
||||
"the same python installation that OctoPrint is installed under?")
|
||||
import sys
|
||||
sys.exit(-1)
|
||||
|
||||
setup_parameters = octoprint_setuptools.create_plugin_setup_parameters(
|
||||
identifier=plugin_identifier,
|
||||
package=plugin_package,
|
||||
name=plugin_name,
|
||||
version=plugin_version,
|
||||
description=plugin_description,
|
||||
author=plugin_author,
|
||||
mail=plugin_author_email,
|
||||
url=plugin_url,
|
||||
license=plugin_license,
|
||||
requires=plugin_requires,
|
||||
additional_packages=plugin_additional_packages,
|
||||
ignored_packages=plugin_ignored_packages,
|
||||
additional_data=plugin_additional_data
|
||||
)
|
||||
|
||||
if len(additional_setup_parameters):
|
||||
from octoprint.util import dict_merge
|
||||
setup_parameters = dict_merge(setup_parameters, additional_setup_parameters)
|
||||
|
||||
setup(**setup_parameters)
|
Loading…
Reference in New Issue
Block a user