File size: 3,349 Bytes
7875b25 1a92f7e 7875b25 1a92f7e 7875b25 dbe08e2 7875b25 1a92f7e 7875b25 dbe08e2 7875b25 1a92f7e 7875b25 a0dc3d4 d68bee0 a0dc3d4 7875b25 1a92f7e 7875b25 1a92f7e 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 70 71 72 73 74 75 76 77 |
import os
from jinja2 import Environment, FileSystemLoader
from decimal import Decimal
from datetime import datetime
BUSINESS = "Buku Mbili 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."""
formatted_expiry_date = expiry_date.strftime(
"%Y-%m-%d %H:%M:%S"
) # Format the date and time
return self.render_template(
"Payment.md",
amount=amount,
expiry_date=formatted_expiry_date,
business_name=business_name,
)
def payment_success_subscription_message(
self, user_name: str, amount: Decimal, plan_name: str
):
formatted_amount = (
f"{amount:,.2f}" # Format the amount with commas and two decimal places
)
return f"Ndugu {user_name}, Nimepokea kiasi cha shilingi {formatted_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:,.2f}, Zilizotolewa: {provided_amount:,.2f}. 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:,.2f} limeongezwa kwa mafanikio kwenye akaunti yako. Salio lako jipya ni {new_balance:,.2f}."
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. "
|