2022-04-02 01:30:17 +02:00
|
|
|
#!python3
|
2020-12-05 00:16:07 +01:00
|
|
|
|
|
|
|
"""
|
|
|
|
Slideshow test (inkycal_slideshow)
|
|
|
|
"""
|
2023-01-11 22:24:39 +01:00
|
|
|
import logging
|
2022-04-14 05:59:47 +02:00
|
|
|
import os
|
2023-01-11 22:24:39 +01:00
|
|
|
import sys
|
2020-11-29 23:51:04 +01:00
|
|
|
import unittest
|
2022-04-14 05:59:47 +02:00
|
|
|
import requests
|
|
|
|
from PIL import Image
|
|
|
|
|
2020-11-29 23:51:04 +01:00
|
|
|
from inkycal.modules import Slideshow as Module
|
2023-01-11 22:24:39 +01:00
|
|
|
from inkycal.modules.inky_image import Inkyimage
|
|
|
|
from inkycal.tests import Config
|
2020-12-05 00:16:07 +01:00
|
|
|
|
2023-01-11 22:24:39 +01:00
|
|
|
preview = Inkyimage.preview
|
|
|
|
merge = Inkyimage.merge
|
2020-11-29 23:51:04 +01:00
|
|
|
|
2022-04-14 05:59:47 +02:00
|
|
|
if not os.path.exists("tmp"):
|
|
|
|
os.mkdir("tmp")
|
|
|
|
|
|
|
|
im_urls = [
|
|
|
|
"https://github.com/aceisace/Inkycal/raw/assets/Repo/coffee.png",
|
|
|
|
"https://github.com/aceisace/Inkycal/raw/assets/Repo/coffee.png"
|
|
|
|
]
|
|
|
|
|
|
|
|
for count, url in enumerate(im_urls):
|
|
|
|
im = Image.open(requests.get(url, stream=True).raw)
|
|
|
|
im.save(f"tmp/{count}.png", "PNG")
|
|
|
|
|
|
|
|
test_path = "tmp"
|
|
|
|
|
2020-11-29 23:51:04 +01:00
|
|
|
tests = [
|
2022-04-14 05:59:47 +02:00
|
|
|
{
|
|
|
|
"name": "Slideshow",
|
|
|
|
"config": {
|
|
|
|
"size": [400, 200],
|
|
|
|
"path": test_path,
|
|
|
|
"palette": "bwy",
|
|
|
|
"autoflip": True,
|
|
|
|
"orientation": "vertical",
|
2023-01-11 22:24:39 +01:00
|
|
|
"padding_x": 10,
|
|
|
|
"padding_y": 10,
|
|
|
|
"fontsize": 12,
|
|
|
|
"language": "en"
|
2022-04-14 05:59:47 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "Slideshow",
|
|
|
|
"config": {
|
|
|
|
"size": [800, 500],
|
|
|
|
"path": test_path,
|
|
|
|
"palette": "bw",
|
|
|
|
"autoflip": True,
|
|
|
|
"orientation": "vertical",
|
2023-01-11 22:24:39 +01:00
|
|
|
"padding_x": 10,
|
|
|
|
"padding_y": 10,
|
|
|
|
"fontsize": 12,
|
|
|
|
"language": "en"
|
2022-04-14 05:59:47 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "Slideshow",
|
|
|
|
"config": {
|
|
|
|
"size": [400, 100],
|
|
|
|
"path": test_path,
|
|
|
|
"palette": "bwr",
|
|
|
|
"autoflip": False,
|
|
|
|
"orientation": "vertical",
|
2023-01-11 22:24:39 +01:00
|
|
|
"padding_x": 10,
|
|
|
|
"padding_y": 10,
|
|
|
|
"fontsize": 12,
|
|
|
|
"language": "en"
|
2022-04-14 05:59:47 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "Slideshow",
|
|
|
|
"config": {
|
|
|
|
"size": [400, 100],
|
|
|
|
"path": test_path,
|
|
|
|
"palette": "bwy",
|
|
|
|
"autoflip": True,
|
|
|
|
"orientation": "vertical",
|
2023-01-11 22:24:39 +01:00
|
|
|
"padding_x": 10,
|
|
|
|
"padding_y": 10,
|
|
|
|
"fontsize": 12,
|
|
|
|
"language": "en"
|
2022-04-14 05:59:47 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "Slideshow",
|
|
|
|
"config": {
|
|
|
|
"size": [400, 100],
|
|
|
|
"path": test_path,
|
|
|
|
"palette": "bwy",
|
|
|
|
"autoflip": True,
|
|
|
|
"orientation": "horizontal",
|
2023-01-11 22:24:39 +01:00
|
|
|
"padding_x": 10,
|
|
|
|
"padding_y": 10,
|
|
|
|
"fontsize": 12,
|
|
|
|
"language": "en"
|
2022-04-14 05:59:47 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "Slideshow",
|
|
|
|
"config": {
|
|
|
|
"size": [500, 800],
|
|
|
|
"path": test_path,
|
|
|
|
"palette": "bw",
|
|
|
|
"autoflip": True,
|
|
|
|
"orientation": "vertical",
|
2023-01-11 22:24:39 +01:00
|
|
|
"padding_x": 0,
|
|
|
|
"padding_y": 0,
|
|
|
|
"fontsize": 12,
|
|
|
|
"language": "en"
|
2022-04-14 05:59:47 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"position": 1,
|
|
|
|
"name": "Slideshow",
|
|
|
|
"config": {
|
|
|
|
"size": [500, 800],
|
|
|
|
"path": test_path,
|
|
|
|
"palette": "bwr",
|
|
|
|
"autoflip": True,
|
|
|
|
"orientation": "vertical",
|
2023-01-11 22:24:39 +01:00
|
|
|
"padding_x": 20,
|
|
|
|
"padding_y": 20,
|
|
|
|
"fontsize": 12,
|
|
|
|
"language": "en"
|
2022-04-14 05:59:47 +02:00
|
|
|
}
|
|
|
|
},
|
2020-11-29 23:51:04 +01:00
|
|
|
]
|
|
|
|
|
2022-04-14 05:59:47 +02:00
|
|
|
|
2020-11-29 23:51:04 +01:00
|
|
|
class module_test(unittest.TestCase):
|
2022-04-14 05:59:47 +02:00
|
|
|
def test_get_config(self):
|
|
|
|
print('getting data for web-ui...', end="")
|
|
|
|
Module.get_config()
|
|
|
|
print('OK')
|
2020-12-02 00:59:00 +01:00
|
|
|
|
2022-04-14 05:59:47 +02:00
|
|
|
def test_generate_image(self):
|
|
|
|
for test in tests:
|
|
|
|
print(f'test {tests.index(test) + 1} generating image..')
|
|
|
|
module = Module(test)
|
|
|
|
im_black, im_colour = module.generate_image()
|
|
|
|
print('OK')
|
2023-01-11 22:24:39 +01:00
|
|
|
if Config.USE_PREVIEW:
|
2022-04-14 05:59:47 +02:00
|
|
|
preview(merge(im_black, im_colour))
|
|
|
|
|
|
|
|
def test_switch_to_next_image(self):
|
|
|
|
print(f'testing switching to next images..')
|
|
|
|
module = Module(tests[0])
|
|
|
|
im_black, im_colour = module.generate_image()
|
2023-01-11 22:24:39 +01:00
|
|
|
if Config.USE_PREVIEW:
|
2022-04-14 05:59:47 +02:00
|
|
|
preview(merge(im_black, im_colour))
|
|
|
|
|
|
|
|
im_black, im_colour = module.generate_image()
|
2023-01-11 22:24:39 +01:00
|
|
|
if Config.USE_PREVIEW:
|
2022-04-14 05:59:47 +02:00
|
|
|
preview(merge(im_black, im_colour))
|
2020-12-05 00:16:07 +01:00
|
|
|
|
2022-04-14 05:59:47 +02:00
|
|
|
im_black, im_colour = module.generate_image()
|
2023-01-11 22:24:39 +01:00
|
|
|
if Config.USE_PREVIEW:
|
2022-04-14 05:59:47 +02:00
|
|
|
preview(merge(im_black, im_colour))
|
|
|
|
|
|
|
|
print('OK')
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
logger = logging.getLogger()
|
|
|
|
logger.level = logging.DEBUG
|
|
|
|
logger.addHandler(logging.StreamHandler(sys.stdout))
|
2020-12-05 00:16:07 +01:00
|
|
|
|
2022-04-14 05:59:47 +02:00
|
|
|
unittest.main()
|