def test_encoder(self): """Ensure encoder produces expected encoded output.""" from sosbeacon.utils import number_encode number = 123 encoded = number_encode(number) self.assertEqual(encoded, 'b6')
def test_inverse(self): """Ensure decode(encode(number)) == number over a range of numbers.""" from sosbeacon.utils import number_decode from sosbeacon.utils import number_encode for number in range(0, 500000, 339): encoded = number_encode(number) decoded = number_decode(encoded) self.assertEqual(number, decoded)
def broadcast_to_method(event_key, message_key, short_id, method): """Send the message to the given contact method.""" import os from sosbeacon import utils from sosbeacon.event.contact_marker import ContactMarker from sosbeacon.event.student_marker import StudentMarker from sosbeacon.responde_sms import create_responder_student_sms from sosbeacon.responde_sms import create_responder_user_sms from sosbeacon.log import create_log from sosbeacon.user import User message = message_key.get() event = event_key.get() encoded_event = utils.number_encode(event_key.id()) encoded_method = utils.number_encode(short_id) host = os.environ["HTTP_HOST"] url = "http://%s/e/%s/%s" % (host, encoded_event, encoded_method) message_log = message.to_dict() log_sms = message_log["message"]["sms"] log_email = message_log["message"]["email"] froms = message.user.get().email phones = message.user.get().phone user = message.user school = event.school if "@" not in method: if message.message_type == "ec": string_date = "%s %s, %s at %s:%s %s" % ( message.added.strftime("%B"), message.added.strftime("%d"), message.added.strftime("%Y"), message.added.strftime("%I"), message.added.strftime("%M"), message.added.strftime("%p"), ) # text_message = "Message " + message.message['email'] text_message = ( "from " + event.school.get().name + " by " + message.user.get().first_name + " " + message.user.get().last_name + " at " + string_date + ". Message " + message.message["email"] ) broadcast_call(method, text_message, message.link_audio) return if message.message_type == "eo": return broadcast_sms(method, message, url, user.get().first_name + " " + user.get().last_name, school.get().name) create_log( phones, method, "s", log_sms, user.get().first_name + " " + user.get().last_name, school.get().name, url ) if short_id == user.id(): create_responder_user_sms( user.get().phone, user.get().first_name + " " + user.get().last_name, url, event_key ) else: create_responder_student_sms(method, short_id, url, event_key) return broadcast_email(method, message, url, user, school) create_log( froms, method, "e", log_email, user.get().first_name + " " + user.get().last_name, school.get().name, url )
def broadcast_to_method(event_key, message_key, short_id, method): """Send the message to the given contact method.""" import os from sosbeacon import utils from sosbeacon.event.contact_marker import ContactMarker from sosbeacon.event.student_marker import StudentMarker from sosbeacon.responde_sms import create_responder_student_sms from sosbeacon.responde_sms import create_responder_user_sms from sosbeacon.log import create_log from sosbeacon.user import User message = message_key.get() event = event_key.get() encoded_event = utils.number_encode(event_key.id()) encoded_method = utils.number_encode(short_id) host = os.environ['HTTP_HOST'] url = "http://%s/e/%s/%s" % (host, encoded_event, encoded_method) message_log = message.to_dict() log_sms = message_log['message']['sms'] log_email = message_log['message']['email'] froms = message.user.get().email phones = message.user.get().phone user = message.user school = event.school if '@' not in method: if message.message_type == 'ec': string_date = "%s %s, %s at %s:%s %s" % ( message.added.strftime("%B"), message.added.strftime("%d"), message.added.strftime("%Y"), message.added.strftime("%I"), message.added.strftime("%M"), message.added.strftime("%p")) # text_message = "Message " + message.message['email'] text_message = "from " + event.school.get( ).name + " by " + message.user.get( ).first_name + " " + message.user.get( ).last_name + " at " + string_date + ". Message " + message.message[ 'email'] broadcast_call(method, text_message, message.link_audio) return if message.message_type == 'eo': return broadcast_sms(method, message, url, user.get().first_name + " " + user.get().last_name, school.get().name) create_log(phones, method, 's', log_sms, user.get().first_name + " " + user.get().last_name, school.get().name, url) if short_id == user.id(): create_responder_user_sms( user.get().phone, user.get().first_name + " " + user.get().last_name, url, event_key) else: create_responder_student_sms(method, short_id, url, event_key) return broadcast_email(method, message, url, user, school) create_log(froms, method, 'e', log_email, user.get().first_name + " " + user.get().last_name, school.get().name, url)