text-module enhancement

This allows an improved approach to load text from URL
Also improved the function to check for a connection by attempting three times before giving up
This commit is contained in:
Ace
2023-11-08 20:22:50 +01:00
parent 3124ecd535
commit bebe60aef3
5 changed files with 37 additions and 43 deletions

View File

@@ -28,6 +28,8 @@ class Config:
# inkycal_todoist_test
TODOIST_API_KEY = get("TODOIST_API_KEY")
TEMP_PATH = f"{basedir}/tmp"

View File

@@ -3,14 +3,16 @@ import logging
import os
import sys
import unittest
from inkycal.modules import TextToDisplay as Module
from inkycal.modules import TextToDisplay as Module
from inkycal.modules.inky_image import Inkyimage
from inkycal.tests import Config
preview = Inkyimage.preview
merge = Inkyimage.merge
file_path = None
temp_path = f"{Config.TEMP_PATH}/temp.txt"
dummy_data = [
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', ' Donec feugiat facilisis neque vel blandit.',
@@ -56,7 +58,7 @@ tests = [
"name": "TextToFile",
"config": {
"size": [500, 100],
"filepath": file_path,
"filepath": temp_path,
"padding_x": 10,
"padding_y": 10,
"fontsize": 12,
@@ -68,7 +70,7 @@ tests = [
"name": "TextToFile",
"config": {
"size": [500, 400],
"filepath": file_path,
"filepath": "https://de.wikipedia.org/wiki/Nationale_Rotkreuz-_und_Rothalbmond-Gesellschaft",
"padding_x": 10,
"padding_y": 10,
"fontsize": 12,
@@ -80,31 +82,19 @@ tests = [
class TestTextToDisplay(unittest.TestCase):
def setUp(self):
self.temp_path = temp_path
if not os.path.exists(self.temp_path):
print("could not find temporary file, creating now.")
with open(self.temp_path, encoding="utf-8", mode="w") as file:
file.writelines(dummy_data)
def test_get_config(self):
print('getting data for web-ui...', end="")
Module.get_config()
print('OK')
def test_generate_image(self):
delete_file_after_parse = False
if not file_path:
delete_file_after_parse = True
print("Filepath does not exist. Creating dummy file")
tmp_path = "tmp.txt"
with open(tmp_path, mode="w", encoding="utf-8") as file:
file.writelines(dummy_data)
# update tests with new temp path
for test in tests:
test["config"]["filepath"] = tmp_path
else:
make_request = bool(file_path.startswith("https://"))
if not make_request and not os.path.exists(file_path):
raise FileNotFoundError("Your text file could not be found")
for test in tests:
print(f'test {tests.index(test) + 1} generating image..')
module = Module(test)
@@ -113,9 +103,10 @@ class TestTextToDisplay(unittest.TestCase):
if Config.USE_PREVIEW:
preview(merge(im_black, im_colour))
if delete_file_after_parse:
print("cleaning up temp file")
os.remove("tmp.txt")
def tearDown(self):
if os.path.exists(self.temp_path):
print("deleting temporary file.")
os.remove(self.temp_path)
if __name__ == '__main__':