Skip to main content

A Django app for sending SMS with interchangable backends.

Project description

A Django app for sending SMS with interchangable backends.

Requirements

Required

  • Python 2.5+

  • Django 1.2+

Backends

  • ‘sms.backends.dummy.SMSBackend’

  • ‘sms.backends.locmem.SMSBackend’

  • ‘sms.backends.console.SMSBackend’

Writing a custom backend

You can write your own SMS backend by subclassing BaseSMSBackend and overriding the send_sms method. On any error, your backend should raise SMSError

class SMSBackend(BaseSMSBackend):
    """
    My custom sms backend

    """
    def __init__(self):
        self.client = MyClient(settings.KEY, settings.SECRET)

    def send_sms(self, message, from_, to):
        if not self.client.send_message(message, from_, to):
            raise SMSError

Usage

  1. Add an SMS backend to SMS_BACKEND in settings.py.

SMS_BACKEND = 'sms.backends.console.SMSBackend'
  1. call send_sms

from sms import send_sms

send_sms(text, from_, to)

Testing

sms.original_sms_backend = settings.SMS_BACKEND
settings.SMS_BACKEND = 'sms.backends.locmem.SMSBackend'
sms.outbox = []

sms.send_sms('my message', 'me', 'you')
self.assertIn('message', sms.outbox[0]['text'])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-sms-0.0.4.tar.gz (2.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page