File size: 3,033 Bytes
7875b25 dbe08e2 7875b25 dbe08e2 7875b25 a0dc3d4 7875b25 c05b62e 6a3e1a1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
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. "
|