From e4cc81d643f223a0cb2c591782dca502103dbcf9 Mon Sep 17 00:00:00 2001 From: Teja Date: Fri, 6 Feb 2015 17:16:13 +0100 Subject: [PATCH] updated safety plugin --- .../plugins/laser_safety_notes/__init__.py | 83 +++++++++++++++++++ .../static/js/laserSafetyNotes.js | 23 +++++ .../templates/laser_safety_notes.jinja2 | 62 ++++++++++++++ src/octoprint/server/__init__.py | 1 - 4 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 src/octoprint/plugins/laser_safety_notes/__init__.py create mode 100644 src/octoprint/plugins/laser_safety_notes/static/js/laserSafetyNotes.js create mode 100644 src/octoprint/plugins/laser_safety_notes/templates/laser_safety_notes.jinja2 diff --git a/src/octoprint/plugins/laser_safety_notes/__init__.py b/src/octoprint/plugins/laser_safety_notes/__init__.py new file mode 100644 index 00000000..3e285966 --- /dev/null +++ b/src/octoprint/plugins/laser_safety_notes/__init__.py @@ -0,0 +1,83 @@ +# coding=utf-8 +from __future__ import absolute_import + +__author__ = "Mr Beam Team " +__license__ = "GNU Affero General Public License http://www.gnu.org/licenses/agpl.html" +__copyright__ = "Copyright (C) 2015 The Mr Beam Project - Released under terms of the AGPLv3 License" + +import logging +import logging.handlers +import os +import flask +import socket + +import octoprint.plugin +import octoprint.util +from octoprint.util import dict_merge +import octoprint.settings + +default_settings = { + "agreed_to_safety_notes": False +} +s = octoprint.plugin.plugin_settings("lasersafetynotes", defaults=default_settings) + +class LaserSafetyNotesPlugin(octoprint.plugin.SettingsPlugin, + octoprint.plugin.StartupPlugin, + octoprint.plugin.BlueprintPlugin, + octoprint.plugin.AssetPlugin, + octoprint.plugin.TemplatePlugin): + + + def __init__(self): + pass + + ##~~ StartupPlugin API + def on_startup(self, host, port): + pass + + ##~~ AssetPlugin API + + def get_assets(self): + return { + "js": ["js/laserSafetyNotes.js"], + "less": [], + "css": [] + } + + ##~~ SettingsPlugin API + + def on_settings_load(self): + cfg = dict( + current_profile_id=s.get(["agreed_to_safety_notes"]), + ) + return cfg + + def on_settings_save(self, data): + if "has_agreed" in data: + has_agreed = data["has_agreed"] in octoprint.settings.valid_boolean_trues + s.setBoolean(["agreed_to_safety_notes"], has_agreed) + + ##~~ TemplatePlugin API + + def get_template_vars(self): + d = dict() + return d + + def get_template_folder(self): + #import os + #return os.path.join(os.path.dirname(os.path.realpath(__file__)), "templates") + return os.path.join(self._basefolder, "templates") + + def get_template_configs(self): + return [dict(type = 'generic', custom_bindings=False)] + + ##~~ BlueprintPlugin API + + #def get_blueprint(self): + # global blueprint + # return blueprint + + +__plugin_name__ = "lasersafetynotes" +__plugin_version__ = "0.1" +__plugin_implementations__ = [LaserSafetyNotesPlugin()] diff --git a/src/octoprint/plugins/laser_safety_notes/static/js/laserSafetyNotes.js b/src/octoprint/plugins/laser_safety_notes/static/js/laserSafetyNotes.js new file mode 100644 index 00000000..c0aa35a6 --- /dev/null +++ b/src/octoprint/plugins/laser_safety_notes/static/js/laserSafetyNotes.js @@ -0,0 +1,23 @@ +$(function() { + + function LaserSafetyNotesViewModel(params) { + var self = this; + + self.settings = params[0]; + + self.onStartup = function(){ +// self.requestData(); +// self.control.showZAxis = ko.computed(function(){ +// var has = self.currentProfileData()['zAxis'](); +// return has; +// }); // dependency injection + }; + } + + + // view model class, identifier, parameters for constructor, container to bind to + ADDITIONAL_VIEWMODELS.push([LaserSafetyNotesViewModel, + ["settingsViewModel"], + document.getElementById("laser_safety_notes")]); + +}); diff --git a/src/octoprint/plugins/laser_safety_notes/templates/laser_safety_notes.jinja2 b/src/octoprint/plugins/laser_safety_notes/templates/laser_safety_notes.jinja2 new file mode 100644 index 00000000..7ed030f1 --- /dev/null +++ b/src/octoprint/plugins/laser_safety_notes/templates/laser_safety_notes.jinja2 @@ -0,0 +1,62 @@ + + diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py index d78148f2..8ee7bb99 100644 --- a/src/octoprint/server/__init__.py +++ b/src/octoprint/server/__init__.py @@ -269,7 +269,6 @@ def _process_template_configs(name, implementation, configs, rules): if not template_type in rules: continue rule = rules[template_type] - data = _process_template_config(name, implementation, rule, config=config, counter=counters[template_type]) if data is None: continue