2020-11-09 17:51:15 +01:00
|
|
|
#!/usr/bin/python3
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
|
|
Image Server module for Inkycal project
|
|
|
|
For use with Robert Sierre's inkycal web-service
|
|
|
|
|
|
|
|
Copyright by aceisace
|
|
|
|
"""
|
2020-11-12 21:22:22 +01:00
|
|
|
from inkycal.modules.template import inkycal_module
|
|
|
|
from inkycal.custom import *
|
2020-11-09 17:51:15 +01:00
|
|
|
import requests
|
2020-11-12 21:22:22 +01:00
|
|
|
# import numpy
|
|
|
|
|
|
|
|
|
|
|
|
filename = os.path.basename(__file__).split('.py')[0]
|
|
|
|
logger = logging.getLogger(filename)
|
|
|
|
|
|
|
|
|
|
|
|
class Inkyserver(inkycal_module):
|
|
|
|
"""Inkyserver class"""
|
|
|
|
|
2020-11-21 16:22:15 +01:00
|
|
|
name = "Inkycal Server - get image from Inkycal server"
|
2020-11-12 21:22:22 +01:00
|
|
|
|
|
|
|
requires = {
|
|
|
|
"panel_id" : {
|
|
|
|
"label":"Please enter your panel ID",
|
|
|
|
},
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
def __init__(self, config):
|
|
|
|
"""Initialize inkycal_feeds module"""
|
|
|
|
|
|
|
|
super().__init__(config)
|
|
|
|
|
|
|
|
config = config['config']
|
|
|
|
|
|
|
|
# Check if all required parameters are present
|
|
|
|
for param in self.requires:
|
|
|
|
if not param in config:
|
|
|
|
raise Exception('config is missing {}'.format(param))
|
|
|
|
|
|
|
|
# required parameters
|
|
|
|
self.panel_id = config["panel_id"]
|
|
|
|
|
|
|
|
# give an OK message
|
|
|
|
print('{0} loaded'.format(filename))
|
|
|
|
|
|
|
|
def _validate(self):
|
|
|
|
"""Validate module-specific parameters"""
|
|
|
|
|
|
|
|
if not isinstance(self.panel_id, str):
|
|
|
|
print('panel_id has to be a string')
|
|
|
|
|
|
|
|
def generate_image(self):
|
|
|
|
"""Generate image for this module"""
|
|
|
|
|
|
|
|
def get_image(url):
|
|
|
|
"""Get an image from a given URL"""
|
|
|
|
## try:
|
|
|
|
## # POST request, passing path_body in the body
|
|
|
|
## im = Image.open(requests.post(path, json=path_body, stream=True).raw)
|
|
|
|
##
|
|
|
|
## except FileNotFoundError:
|
|
|
|
## raise Exception('Your file could not be found. Please check the path to your file.')
|
|
|
|
##
|
|
|
|
## except OSError:
|
|
|
|
## raise Exception('Please check if the path points to an image file.')
|
|
|
|
pass
|
|
|
|
## return image
|
|
|
|
|
|
|
|
def splice(image):
|
|
|
|
"""Splits a 3-colour image to two black-white images"""
|
|
|
|
pass
|
|
|
|
## return im_black, im_colour
|
2020-11-09 17:51:15 +01:00
|
|
|
|
|
|
|
|