openwebrx/owrx/form/gfx.py

46 lines
1.2 KiB
Python
Raw Normal View History

2021-02-09 17:54:02 +01:00
from abc import ABCMeta, abstractmethod
2021-02-08 20:30:12 +01:00
from owrx.form import Input
2021-02-09 00:47:09 +01:00
# TODO: cachebuster
2021-02-09 17:54:02 +01:00
class ImageInput(Input, metaclass=ABCMeta):
def render_input(self, value):
return """
<div class="imageupload">
<input type="hidden" id="{id}" name="{id}">
<div class="image-container">
2021-02-09 17:54:02 +01:00
<img class="{classes}" src="{url}" alt="{label}"/>
</div>
<button class="btn btn-primary">Upload new image...</button>
</div>
""".format(
2021-02-09 17:54:02 +01:00
id=self.id,
label=self.label,
url=self.getUrl(),
classes=" ".join(self.getImgClasses())
)
2021-02-09 17:54:02 +01:00
@abstractmethod
def getUrl(self) -> str:
pass
2021-02-08 20:30:12 +01:00
2021-02-09 17:54:02 +01:00
@abstractmethod
def getImgClasses(self) -> list:
pass
class AvatarInput(ImageInput):
def getUrl(self) -> str:
return "static/gfx/openwebrx-avatar.png"
def getImgClasses(self) -> list:
return ["webrx-rx-avatar"]
class TopPhotoInput(ImageInput):
def getUrl(self) -> str:
return "static/gfx/openwebrx-top-photo.jpg"
def getImgClasses(self) -> list:
return ["webrx-top-photo"]