Module lib.webpage.pushoverpage

Function define the web page to configure the pushover notifications

Expand source code
# Distributed under Pycameresp License
# Copyright (c) 2023 Remi BERTHOLET
""" Function define the web page to configure the pushover notifications """
import server.httpserver
import server.pushover
from htmltemplate      import *
import webpage.mainpage
import tools.lang
import tools.features

@server.httpserver.HttpServer.add_route(b'/pushover', menu=tools.lang.menu_server, item=tools.lang.item_notification, available=tools.features.features.pushover)
async def pushover(request, response, args):
        """ Function define the web page to configure the pushover notifications """
        config = server.pushover.PushOverConfig()
        disabled, action, submit = webpage.mainpage.manage_default_button(request, config)
        if action == b"save":
                if config.activated:
                        msg = tools.lang.pushover_on
                else:
                        msg = tools.lang.pushover_off
                await server.pushover.async_notify(token=config.token, user=config.user, message = msg)
        if disabled:
                typ = b"password"
        else:
                typ = b""
        page = webpage.mainpage.main_frame(request, response, args,tools.lang.notification_configuration,
                Form([
                        Switch(text=tools.lang.activated, name=b"activated", checked=config.activated, disabled=disabled),
                        Edit(text=tools.lang.pushover_user,  name=b"user",  placeholder=tools.lang.enter_pushover_user,  type=typ, value=config.user,  disabled=disabled),
                        Edit(text=tools.lang.pushover_token, name=b"token", placeholder=tools.lang.enter_pushover_token, type=typ, value=config.token, disabled=disabled),
                        submit,
                        Br(), Link(href=b"https://pushover.net", text=tools.lang.see_pushover_website)
                ]))

        await response.send_page(page)

Functions

async def pushover(request, response, args)

Function define the web page to configure the pushover notifications

Expand source code
@server.httpserver.HttpServer.add_route(b'/pushover', menu=tools.lang.menu_server, item=tools.lang.item_notification, available=tools.features.features.pushover)
async def pushover(request, response, args):
        """ Function define the web page to configure the pushover notifications """
        config = server.pushover.PushOverConfig()
        disabled, action, submit = webpage.mainpage.manage_default_button(request, config)
        if action == b"save":
                if config.activated:
                        msg = tools.lang.pushover_on
                else:
                        msg = tools.lang.pushover_off
                await server.pushover.async_notify(token=config.token, user=config.user, message = msg)
        if disabled:
                typ = b"password"
        else:
                typ = b""
        page = webpage.mainpage.main_frame(request, response, args,tools.lang.notification_configuration,
                Form([
                        Switch(text=tools.lang.activated, name=b"activated", checked=config.activated, disabled=disabled),
                        Edit(text=tools.lang.pushover_user,  name=b"user",  placeholder=tools.lang.enter_pushover_user,  type=typ, value=config.user,  disabled=disabled),
                        Edit(text=tools.lang.pushover_token, name=b"token", placeholder=tools.lang.enter_pushover_token, type=typ, value=config.token, disabled=disabled),
                        submit,
                        Br(), Link(href=b"https://pushover.net", text=tools.lang.see_pushover_website)
                ]))

        await response.send_page(page)