Ejemplo n.º 1
0
def async_send_scores(message):
    """Send message to all users with active phones and a summary to """
    # Super simple profiling
    start_time = time.time()

    with mail.app.app_context():
        with mail.connect() as conn:
            for user in User.query.filter_by(phone_active=True):
                send_sms(user.carrier, user.phone_num, message, conn=conn)
        num_users = len(User.query.filter_by(phone_active=True).all())

    elapsed_time = time.time() - start_time
    admin_msg = Message(
        "CorpScores Event Stats",
        sender=mail.app.config.get("SMS_DEFAULT_SENDER"),
        recipients=mail.app.config.get("ADMINS"),
    )
    admin_msg.body = """
    Total Users: %d
    Message Length: %d
    Message: %s
    Elapsed time: %f""" % (
        num_users,
        len(message),
        message,
        elapsed_time,
    )
    with mail.app.app_context():
        mail.send(admin_msg)
Ejemplo n.º 2
0
 def test_send_sms_multiple_messages(self, app):
     with mail.record_messages() as outbox:
         send_sms(carrier='verizon',
                  number=5551112222,
                  message='m' * 300,
                  subject='subject')
         assert len(outbox) is 3
         assert outbox[0].subject == 'subject'
         assert outbox[0].body == 'm' * 130
Ejemplo n.º 3
0
 def test_send_sms_with_conn(self, app):
     with mail.record_messages() as outbox:
         with mail.connect() as conn:
             send_sms(carrier='verizon',
                      number=5551112222,
                      message='m' * 300,
                      subject='subject',
                      conn=conn)
         assert len(outbox) is 3
Ejemplo n.º 4
0
 def test_send_sms_single_message(self, app):
     with mail.record_messages() as outbox:
         send_sms(carrier='verizon',
                  number=5551112222,
                  message='message',
                  subject='subject')
         assert len(outbox) is 1
         assert outbox[0].subject == 'subject'
         assert outbox[0].body == 'message'
Ejemplo n.º 5
0
 def test_send_sms_with_conn(self, app):
     with mail.record_messages() as outbox:
         with mail.connect() as conn:
             send_sms(carrier='verizon',
                      number=5551112222,
                      message='m' * 300,
                      subject='subject',
                      conn=conn)
         assert len(outbox) is 3
Ejemplo n.º 6
0
 def test_send_sms_multiple_messages(self, app):
     with mail.record_messages() as outbox:
         send_sms(carrier='verizon',
                  number=5551112222,
                  message='m' * 300,
                  subject='subject')
         assert len(outbox) is 3
         assert outbox[0].subject == 'subject'
         assert outbox[0].body == 'm' * 130
Ejemplo n.º 7
0
 def test_send_sms_single_message(self, app):
     with mail.record_messages() as outbox:
         send_sms(carrier='verizon',
                  number=5551112222,
                  message='message',
                  subject='subject')
         assert len(outbox) is 1
         assert outbox[0].subject == 'subject'
         assert outbox[0].body == 'message'
Ejemplo n.º 8
0
 def __init__(self, username, email, password=None, **kwargs):
     db.Model.__init__(self, username=username, email=email, **kwargs)
     if password:
         self.set_password(password)
     else:
         self.password = None
     # Send Email and SMS confirmation messages
     message = 'You are now signed up for CorpScores.'
     if self.carrier and self.phone_num:
         send_sms(self.carrier, self.phone_num, message)
     msg = Message('CorpScores Registration Confirmation',
                   recipients=[self.email])
     msg.body = render_template('users/reg_confirm.txt')
     mail.send(msg)
Ejemplo n.º 9
0
def async_send_scores(message):
    '''Send message to all users with active phones and a summary to '''
    # Super simple profiling
    start_time = time.time()

    with mail.app.app_context():
        with mail.connect() as conn:
            for user in User.query.filter_by(phone_active=True):
                send_sms(user.carrier, user.phone_num, message, conn=conn)
        num_users = len(User.query.filter_by(phone_active=True).all())

    elapsed_time = time.time() - start_time
    admin_msg = Message('CorpScores Event Stats',
                        sender=mail.app.config.get('SMS_DEFAULT_SENDER'),
                        recipients=mail.app.config.get('ADMINS'))
    admin_msg.body = '''
    Total Users: %d
    Message Length: %d
    Message: %s
    Elapsed time: %f''' % (num_users, len(message), message, elapsed_time)
    with mail.app.app_context():
        mail.send(admin_msg)
Ejemplo n.º 10
0
def send_messages(users, message):
    '''Send a message to specified users.'''
    for user in users:
        send_sms(user.carrier, user.phone_num, message)
Ejemplo n.º 11
0
def send_messages(users, message):
    '''Send a message to specified users.'''
    for user in users:
        send_sms(user.carrier, user.phone_num, message)