hotspot / App /Templates /Templates.py
Mbonea's picture
done
6a3e1a1
raw
history blame
3.03 kB
import os
from jinja2 import Environment, FileSystemLoader
from decimal import Decimal
BUSINESS = "Goba Buku Wifi😉"
class MessageTemplate:
def __init__(self):
# Set the template directory to the same directory as this file
template_dir = os.path.dirname(__file__)
self.env = Environment(loader=FileSystemLoader(template_dir))
def render_template(self, template_name: str, **kwargs) -> str:
"""Renders a template with provided variables."""
template = self.env.get_template(template_name)
return template.render(**kwargs)
def registration_message(self, user_name, business_name=BUSINESS):
"""Generates the registration message for SMS."""
return self.render_template(
"Registration.md",
user_name=user_name,
business_name=business_name,
)
def payment_confirmation_message(self, amount, expiry_date, business_name=BUSINESS):
"""Generates the payment confirmation message for SMS."""
return self.render_template(
"Payment.md",
amount=amount,
expiry_date=expiry_date,
business_name=business_name,
)
def payment_success_subscription_message(
self, user_name: str, amount: Decimal, plan_name: str
):
return f"Ndugu {user_name}, Nimepokea kiasi cha shilingi {amount}. Asante kwa kujiunga na {plan_name}"
def account_disabled_message(self) -> str:
return "Akaunti yako imezimwa. Tafadhali wasiliana na msaada kwa usaidizi."
def account_enabled_message(self) -> str:
return "Akaunti yako imewashwa. Sasa unaweza kufikia akaunti yako."
def reset_token_message(self, token: str) -> str:
return f"Tokeni yako ya kuweka upya nenosiri ni: {token}. Tafadhali tumia tokeni hii kuweka upya nenosiri lako."
def password_reset_confirmation_message(self) -> str:
return "Nenosiri lako limewekwa upya kwa mafanikio. Ikiwa hukufanya kitendo hiki, tafadhali wasiliana na msaada mara moja."
def subscription_created_message(self, plan_name: str, expiration_time: str) -> str:
return f"Habari! Usajili wako kwenye mpango wa {plan_name} umefanikiwa kuundwa. Utaisha tarehe {expiration_time}."
def insufficient_funds_message(
self, required_amount: Decimal, provided_amount: Decimal
) -> str:
return f"Pesa hazitoshi kwa mpango uliyochagua. Zinazohitajika: {required_amount}, Zilizotolewa: {provided_amount}. Tafadhali ongeza pesa zaidi au chagua mpango tofauti."
def balance_assigned_message(self, amount: Decimal, new_balance: Decimal) -> str:
return f"Habari! Salio la {amount} limeongezwa kwa mafanikio kwenye akaunti yako. Salio lako jipya ni {new_balance}."
def subscription_expired_message(
self, user_name: str, plan_name: str, business_name=BUSINESS
) -> str:
"""Generates a message when the subscription is over."""
return f"Habari {user_name}, Bando lako la {plan_name}, limeisha. "