Compare commits

..

16 Commits

Author SHA1 Message Date
Stefan Allius
9acce70317 add unit tests for all favicons 2025-04-18 03:12:02 +02:00
Stefan Allius
e1cc5c3c2c fix sonarqube warnings 2025-04-18 02:49:48 +02:00
Stefan Allius
a2866955e6 add all font and favicons to add-on 2025-04-18 01:47:10 +02:00
Stefan Allius
f422c5ba91 adapt unit tests 2025-04-18 01:29:23 +02:00
Stefan Allius
ae3cf2a68c load fonts locally 2025-04-18 01:28:43 +02:00
Stefan Allius
5cedece1b3 add more favicons formats 2025-04-18 01:27:07 +02:00
Stefan Allius
b26f7ba591 add more favicon formats 2025-04-18 01:26:11 +02:00
Stefan Allius
2ab200e199 add awesome web font 2025-04-18 01:25:18 +02:00
Stefan Allius
bf523c0713 add Roboto font 2025-04-18 01:24:19 +02:00
Stefan Allius
f33209bf8f add favicon.ico 2025-04-17 20:33:17 +02:00
Stefan Allius
9c7b891a60 add favicon.ico 2025-04-17 20:24:20 +02:00
Stefan Allius
4d3166b81f fix unit test for test dashboard 2025-04-17 18:06:17 +02:00
Stefan Allius
e31a5a2f5a add w3.css dashboard 2025-04-17 00:14:48 +02:00
Stefan Allius
5eded48ee8 add test template and stylesheet 2025-04-16 19:42:52 +02:00
Stefan Allius
7425195b8b copy web-file into the add-on container 2025-04-16 19:42:24 +02:00
Stefan Allius
3862abc8e4 configure path to web files for Quart 2025-04-16 19:41:27 +02:00
12 changed files with 12 additions and 93 deletions

4
.gitignore vendored
View File

@@ -13,7 +13,3 @@ Doku/**
.env
.venv
coverage.xml
*.pot
*.mo
*.log
*.log.*

View File

@@ -1,13 +1,12 @@
.PHONY: build babel clean addon-dev addon-debug addon-rc addon-rel debug dev preview rc rel check-docker-compose install
.PHONY: build clean addon-dev addon-debug addon-rc addon-rel debug dev preview rc rel check-docker-compose install
babel debug dev preview rc rel:
debug dev preview rc rel:
$(MAKE) -C app $@
clean build:
$(MAKE) -C ha_addons $@
addon-dev addon-debug addon-rc addon-rel:
$(MAKE) -C app babel
$(MAKE) -C ha_addons $(patsubst addon-%,%,$@)
check-docker-compose:

View File

@@ -2,6 +2,4 @@ tests/
**/__pycache__
*.pyc
.DS_Store
build.sh
*.pot
*.po
build.sh

View File

@@ -6,16 +6,10 @@ IMAGE = tsun-gen3-proxy
# Folders
APP=.
SRC=$(APP)/src
# Folders for Babel translation
BABEL_INPUT_JINJA=$(SRC)/web/templates
BABEL_INPUT= $(foreach dir,$(BABEL_INPUT_JINJA),$(wildcard $(dir)/*.html)) \
BABEL_TRANSLATIONS=$(APP)/translations
SRC=.
export BUILD_DATE := ${shell date -Iminutes}
VERSION := $(shell cat $(APP)/.version)
VERSION := $(shell cat $(SRC)/.version)
export MAJOR := $(shell echo $(VERSION) | cut -f1 -d.)
PUBLIC_URL := $(shell echo $(PUBLIC_CONTAINER_REGISTRY) | cut -f1 -d/)
@@ -45,17 +39,5 @@ preview rel:
export IMAGE=$(PUBLIC_CONTAINER_REGISTRY)$(IMAGE) && \
docker buildx bake -f docker-bake.hcl $@
babel: $(BABEL_TRANSLATIONS)/de/LC_MESSAGES/messages.mo $(BABEL_TRANSLATIONS)/de/LC_MESSAGES/messages.po $(BABEL_TRANSLATIONS)/messages.pot
$(BABEL_TRANSLATIONS)/%.pot : $(SRC)/.babel.cfg $(BABEL_INPUT)
@mkdir -p $(@D)
@pybabel extract -F $< --project=$(IMAGE) --version=$(VERSION) -o $@ $(SRC)
$(BABEL_TRANSLATIONS)/%/LC_MESSAGES/messages.po : $(BABEL_TRANSLATIONS)/messages.pot
@mkdir -p $(@D)
@pybabel update --init-missing -i $< -d $(BABEL_TRANSLATIONS) -l $*
$(BABEL_TRANSLATIONS)/%/LC_MESSAGES/messages.mo : $(BABEL_TRANSLATIONS)/%/LC_MESSAGES/messages.po
@pybabel compile -d $(BABEL_TRANSLATIONS) -l $*
.PHONY: babel debug dev preview rc rel
.PHONY: debug dev preview rc rel

View File

@@ -1,5 +1,4 @@
aiomqtt==2.3.2
schema==0.7.7
aiocron==2.1
quart==0.20
quart-babel==1.0.7
quart==0.20

View File

@@ -1,2 +0,0 @@
[python: **.py]
[jinja2: web/templates/**.html]

View File

@@ -4,9 +4,7 @@ import logging.handlers
import os
import argparse
from asyncio import StreamReader, StreamWriter
from quart import Quart, Response, request
from quart_babel import Babel
from quart_babel.locale import get_locale
from quart import Quart, Response
from logging import config # noqa F401
from proxy import Proxy
from inverter_ifc import InverterIfc
@@ -33,28 +31,12 @@ class ProxyState:
ProxyState._is_up = value
def my_get_locale():
# check how to get the locale form for the add-on - hass.selectedLanguage
# logging.info("get_locale(%s)", request.accept_languages)
return request.accept_languages.best_match(
['de', 'en']
)
app = Quart(__name__,
template_folder='web/templates',
static_folder='web/static')
babel = Babel(app,
locale_selector=my_get_locale,
default_translation_directories='../translations')
app.register_blueprint(web_routes)
@app.context_processor
def utility_processor():
return dict(lang=get_locale())
@app.route('/-/ready')
async def ready():
if ProxyState.is_up():

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="{{lang}}" >
<html lang="en">
<head>
<title>{% block title %}{% endblock title %}</title>
<meta charset="UTF-8">

View File

@@ -2,7 +2,7 @@
{% block title %} TSUN Proxy - Dashboard {% endblock title%}
{% block menu1_class %}w3-blue{% endblock %}
{% block headline %}<i class="fa fa-dashboard"></i> {{_('My Dashboard')}}{% endblock headline %}
{% block headline %}<i class="fa fa-dashboard"></i> My Dashboard{% endblock headline %}
{% block content %}
<div class="w3-row-padding w3-margin-bottom">

View File

@@ -1,25 +0,0 @@
# German translations for tsun-gen3-proxy.
# Copyright (C) 2025 ORGANIZATION
# This file is distributed under the same license as the tsun-gen3-proxy
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: tsun-gen3-proxy 0.14.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-04-18 20:46+0200\n"
"PO-Revision-Date: 2025-04-18 16:24+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de\n"
"Language-Team: de <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: src/web/templates/index.html:5
msgid "My Dashboard"
msgstr "Mein Dashboard"

View File

@@ -12,14 +12,11 @@ IMAGE = tsun-gen3-addon
SRC=../app
SRC_PROXY=$(SRC)/src
CNF_PROXY=$(SRC)/config
TRANSLATION_PROXY=$(SRC)/translations
# Target folders for building the local add-on and the docker container
ADDON_PATH = ha_addon
DST=$(ADDON_PATH)/rootfs
DST_PROXY=$(DST)/home/proxy
DST_TRANSLATION=$(DST)/home/translations
# base director of the add-on repro for installing the add-on git repros
INST_BASE=../../ha-addons
@@ -95,14 +92,12 @@ SRC_FILES := $(wildcard $(SRC_PROXY)/*.py)\
$(wildcard $(SRC_PROXY)/web/static/images/*)
CNF_FILES := $(wildcard $(CNF_PROXY)/*.toml)
MO_FILES := $(wildcard $(TRANSLATION_PROXY)/de/LC_MESSAGES/*.mo)
# determine destination files
TARGET_FILES = $(SRC_FILES:$(SRC_PROXY)/%=$(DST_PROXY)/%)
CONFIG_FILES = $(CNF_FILES:$(CNF_PROXY)/%=$(DST_PROXY)/%)
TRANSLATION_FILES = $(MO_FILES:$(TRANSLATION_PROXY)/%=$(DST_TRANSLATION)/%)
rootfs: $(TARGET_FILES) $(CONFIG_FILES) $(TRANSLATION_FILES) $(DST)/requirements.txt
rootfs: $(TARGET_FILES) $(CONFIG_FILES) $(DST)/requirements.txt
$(CONFIG_FILES): $(DST_PROXY)/% : $(CNF_PROXY)/%
@echo Copy $< to $@
@@ -114,11 +109,6 @@ $(TARGET_FILES): $(DST_PROXY)/% : $(SRC_PROXY)/%
@mkdir -p $(@D)
@cp $< $@
$(TRANSLATION_FILES): $(DST_TRANSLATION)/% : $(TRANSLATION_PROXY)/%
@echo Copy $< to $@
@mkdir -p $(@D)
@cp $< $@
$(DST)/requirements.txt : $(SRC)/requirements.txt
@echo Copy $< to $@
@cp $< $@

View File

@@ -23,11 +23,11 @@ services:
ports:
5005/tcp: 5005
10000/tcp: 10000
8127/tcp: 8127
webui: "http://[HOST]:[PORT:8127]/"
watchdog: "http://[HOST]:[PORT:8127]/-/healthy"
ingress: true
ingress_port: 8127
panel_icon: "mdi:application-cog-outline"
# Definition of parameters in the configuration tab of the addon
# parameters are available within the container as /data/options.json