Exemple #1
0
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'
Exemple #3
0
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