init commit
This commit is contained in:
commit
efc12119b8
18
.editorconfig
Normal file
18
.editorconfig
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# This file is for unifying the coding style for different editors and IDEs
|
||||||
|
# editorconfig.org
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[**.py]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[**.js]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
*.pyc
|
||||||
|
*.swp
|
||||||
|
.idea
|
||||||
|
*.iml
|
||||||
|
build
|
||||||
|
dist
|
||||||
|
*.egg*
|
||||||
|
.DS_Store
|
||||||
|
*.zip
|
4
MANIFEST.in
Normal file
4
MANIFEST.in
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
include README.md
|
||||||
|
recursive-include octoprint_liveleak/templates *
|
||||||
|
recursive-include octoprint_liveleak/translations *
|
||||||
|
recursive-include octoprint_liveleak/static *
|
17
README.md
Normal file
17
README.md
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# LiveLeak
|
||||||
|
|
||||||
|
**TODO:** Describe what your plugin does.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
Install via the bundled [Plugin Manager](https://docs.octoprint.org/en/master/bundledplugins/pluginmanager.html)
|
||||||
|
or manually using this URL:
|
||||||
|
|
||||||
|
https://git.amogus.cloud/lea/octoprint-liveleak/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).
|
8
babel.cfg
Normal file
8
babel.cfg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[python: */**.py]
|
||||||
|
|
||||||
|
[jinja2: */**.jinja2]
|
||||||
|
silent=false
|
||||||
|
extensions=jinja2.ext.do, octoprint.util.jinja.trycatch
|
||||||
|
|
||||||
|
[javascript: */**.js]
|
||||||
|
extract_messages = gettext, ngettext
|
14
octoprint_liveleak/__init__.py
Normal file
14
octoprint_liveleak/__init__.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
import octoprint.plugin
|
||||||
|
|
||||||
|
__plugin_name__ = "LiveLeak"
|
||||||
|
__plugin_version__ = "1.0.0"
|
||||||
|
__plugin_description__ = "Insert a LiveLeak logo into the camera feed"
|
||||||
|
__plugin_pythoncompat__ = ">=3.7,<4"
|
||||||
|
|
||||||
|
class LiveLeakPlugin(octoprint.plugin.AssetPlugin):
|
||||||
|
def get_assets(self):
|
||||||
|
return dict(
|
||||||
|
css=['liveleak.css']
|
||||||
|
)
|
||||||
|
|
||||||
|
__plugin_implementation__ = LiveLeakPlugin()
|
11
octoprint_liveleak/static/liveleak.css
Normal file
11
octoprint_liveleak/static/liveleak.css
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#webcam_rotator::before {
|
||||||
|
content: "";
|
||||||
|
width: 20%;
|
||||||
|
height: 20%;
|
||||||
|
background: url('https://cdn.discordapp.com/attachments/966400443720826970/1155503444241682644/liveleak.png') 0 0 no-repeat;
|
||||||
|
position: absolute;
|
||||||
|
background-size: contain;
|
||||||
|
z-index: 1000;
|
||||||
|
top: 4px;
|
||||||
|
left: 4px;
|
||||||
|
}
|
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.
|
||||||
|
###
|
||||||
|
|
||||||
|
.
|
102
setup.py
Normal file
102
setup.py
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
# coding=utf-8
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
### Do not forget to adjust the following variables to your own plugin.
|
||||||
|
|
||||||
|
# The plugin's identifier, has to be unique
|
||||||
|
plugin_identifier = "liveleak"
|
||||||
|
|
||||||
|
# The plugin's python package, should be "octoprint_<plugin identifier>", has to be unique
|
||||||
|
plugin_package = "octoprint_liveleak"
|
||||||
|
|
||||||
|
# The plugin's human readable name. Can be overwritten within OctoPrint's internal data via __plugin_name__ in the
|
||||||
|
# plugin module
|
||||||
|
plugin_name = "LiveLeak"
|
||||||
|
|
||||||
|
# The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module
|
||||||
|
plugin_version = "0.1.0"
|
||||||
|
|
||||||
|
# The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin
|
||||||
|
# module
|
||||||
|
plugin_description = """Display a LiveLeak logo in the camera view"""
|
||||||
|
|
||||||
|
# The plugin's author. Can be overwritten within OctoPrint's internal data via __plugin_author__ in the plugin module
|
||||||
|
plugin_author = "Lea"
|
||||||
|
|
||||||
|
# The plugin's author's mail address.
|
||||||
|
plugin_author_email = "meow@lea.pet"
|
||||||
|
|
||||||
|
# The plugin's homepage URL. Can be overwritten within OctoPrint's internal data via __plugin_url__ in the plugin module
|
||||||
|
plugin_url = "https://git.amogus.cloud/lea/octoprint-liveleak"
|
||||||
|
|
||||||
|
# The plugin's license. Can be overwritten within OctoPrint's internal data via __plugin_license__ in the plugin module
|
||||||
|
plugin_license = "AGPLv3"
|
||||||
|
|
||||||
|
# Any additional requirements besides OctoPrint should be listed here
|
||||||
|
plugin_requires = []
|
||||||
|
|
||||||
|
### --------------------------------------------------------------------------------------------------------------------
|
||||||
|
### More advanced options that you usually shouldn't have to touch follow after this point
|
||||||
|
### --------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Additional package data to install for this plugin. The subfolders "templates", "static" and "translations" will
|
||||||
|
# already be installed automatically if they exist. Note that if you add something here you'll also need to update
|
||||||
|
# MANIFEST.in to match to ensure that python setup.py sdist produces a source distribution that contains all your
|
||||||
|
# files. This is sadly due to how python's setup.py works, see also http://stackoverflow.com/a/14159430/2028598
|
||||||
|
plugin_additional_data = []
|
||||||
|
|
||||||
|
# Any additional python packages you need to install with your plugin that are not contained in <plugin_package>.*
|
||||||
|
plugin_additional_packages = []
|
||||||
|
|
||||||
|
# Any python packages within <plugin_package>.* you do NOT want to install with your plugin
|
||||||
|
plugin_ignored_packages = []
|
||||||
|
|
||||||
|
# Additional parameters for the call to setuptools.setup. If your plugin wants to register additional entry points,
|
||||||
|
# define dependency links or other things like that, this is the place to go. Will be merged recursively with the
|
||||||
|
# default setup parameters as provided by octoprint_setuptools.create_plugin_setup_parameters using
|
||||||
|
# octoprint.util.dict_merge.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# plugin_requires = ["someDependency==dev"]
|
||||||
|
# additional_setup_parameters = {"dependency_links": ["https://github.com/someUser/someRepo/archive/master.zip#egg=someDependency-dev"]}
|
||||||
|
# "python_requires": ">=3,<4" blocks installation on Python 2 systems, to prevent confused users and provide a helpful error.
|
||||||
|
# Remove it if you would like to support Python 2 as well as 3 (not recommended).
|
||||||
|
additional_setup_parameters = {"python_requires": ">=3,<4"}
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
from setuptools import setup
|
||||||
|
|
||||||
|
try:
|
||||||
|
import octoprint_setuptools
|
||||||
|
except:
|
||||||
|
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 a new issue