from django.utils.importlib import import_module from sms.utils import get_required_param SMS_GATEWAY = get_required_param("SMS_GATEWAY") def current_gateway(): package, klass = SMS_GATEWAY.rsplit(".", 1) module = import_module(package) return getattr(module, klass) class SmsGateway(object): def __init__(self): self.gateway = current_gateway()() def send_sms(self, sms): return self.gateway.send_sms(sms) def get_senders(self): return self.gateway.get_senders() def callback_received_sms(self, data): return self.gateway.callback_received_sms(data) def callback_delivery_report(self, data): return self.gateway.callback_delivery_report(data)
from sms.gateway.clockworksms.clockwork import Clockwork from sms.utils import get_required_param CLOCKWORK_KEY = get_required_param('CLOCKWORK_KEY') class ClockworkGateway(object): def __init__(self): self.api = Clockwork(CLOCKWORK_KEY) def send_sms(self, sms): sms_id = self.api.send_sms( number=str(sms.recipient).replace('+', ''), message=sms.content, sender=sms.sender, ) return sms_id def get_senders(self): return None def callback_received_sms(self, data): return 'OK' def callback_delivery_report(self, data): return 'OK'
from datetime import datetime from sms.gateway.smsapi.api import Api from sms.utils import get_required_param SMSAPI_LOGIN = get_required_param('SMSAPI_LOGIN') SMSAPI_PASS = get_required_param('SMSAPI_PASS') class SmsApiGateway(object): def __init__(self): self.api = Api(SMSAPI_LOGIN, SMSAPI_PASS) def send_sms(self, sms): sms_id = self.api.send_sms( number=str(sms.recipient), message=sms.content, sender=sms.sender, eco=sms.eco, flash=sms.flash, test=sms.test ) return sms_id def get_senders(self): try: result = self.api.get_senders() except AttributeError: result = [] return result