58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
from pybadges import badge
|
|
from loguru import logger
|
|
from fediseer import enums
|
|
import base64
|
|
|
|
with open('fediseer/assets/crossed-chains.svg', 'rb') as file:
|
|
svg_data = file.read()
|
|
base64_data = base64.b64encode(svg_data).decode('utf-8')
|
|
embed_guarantee = f"data:image/svg+xml;base64,{base64_data}"
|
|
with open('fediseer/assets/thumb-up.svg', 'rb') as file:
|
|
svg_data = file.read()
|
|
base64_data = base64.b64encode(svg_data).decode('utf-8')
|
|
embed_endorsement = f"data:image/svg+xml;base64,{base64_data}"
|
|
|
|
def generate_guarantee_badge(domain: str, guarantor: str):
|
|
left_color = "DarkSlateGray "
|
|
right_color = "DarkOliveGreen"
|
|
right_text=guarantor
|
|
if guarantor is None:
|
|
right_color = "DarkRed"
|
|
right_text="None"
|
|
guarantee_badge = badge(
|
|
left_text="Guarantor",
|
|
right_text=right_text,
|
|
left_color=left_color,
|
|
right_color=right_color,
|
|
logo=embed_guarantee,
|
|
whole_title="Fediseer Guarantee",
|
|
left_title=domain,
|
|
right_title="Guarantor",
|
|
left_link="https://fediseer.com",
|
|
right_link=f"https://fediseer.com/api/v1/endorsements/{domain}",
|
|
)
|
|
return guarantee_badge
|
|
|
|
def generate_endorsements_badge(domain: str, count: int, style: enums.BadgeStyle = enums.BadgeStyle.FULL):
|
|
left_color = "DarkSlateGray "
|
|
right_color = "DarkOliveGreen"
|
|
right_text=str(count)
|
|
left_text = "Endorsements"
|
|
if style == enums.BadgeStyle.ICON:
|
|
left_text = ''
|
|
if count == 0:
|
|
right_color = "DarkRed"
|
|
endorsements_badge = badge(
|
|
left_text=left_text,
|
|
right_text=right_text,
|
|
left_color=left_color,
|
|
right_color=right_color,
|
|
logo=embed_endorsement,
|
|
whole_title="Fediseer Endorsements",
|
|
left_title=domain,
|
|
right_title="Endorsements Count",
|
|
left_link="https://fediseer.com",
|
|
right_link=f"https://fediseer.com/api/v1/whitelist/{domain}",
|
|
)
|
|
return endorsements_badge
|