Exemple #1
0
    for phone_number in farmers:
        s = Subscription.objects.select_related().filter(phone_number_id=phone_number).order_by('market')
        market_id = 0
        substring = ''
        substrings_list = []
        for item in s:
            if market_id != item.market_id:
                market_id = item.market_id
                if substring:
                    substrings_list.append(substring[:-1])
                substring = market_abbr[market_id] + '-'
            substring += str(item._crop_cache) + ':' + quotes[market_id][item.crop_id] + ','
        substrings_list.append(substring[:-1])
        message = '/'.join(substrings_list)
        try:
            response = session.send_sms(phone_number, message)
            if not response['Queued']:
                syslog.syslog('Error - Failed to send message to %s. - %s' % (phone_number,response['SMSError']))
            sms = SMS(phone_number = Farmer.objects.get(phone_number=phone_number),
                      message = message,
                      posttime = timezone.now(),
                      cdyne_posttime = response['SentDateTime'],
                      cdyne_sms_id = response['MessageID'],
                      cancelled = response['Cancelled'],
                      error = response['SMSError'],
                      queued = response['Queued'],
                      sent = response['Sent'])
            sms.save()
        except Exception, e:
            syslog.syslog(str(e))
Exemple #2
0
def send_sms(phone_number):

    m = Market.objects.all()
    market_abbr = {}

    for item in m:
        market_abbr[item.id] = item.abbreviation

    f = Farmer.objects.all()
    farmers = []

    for item in f:
        farmers.append(item.phone_number)

    q = Quote.objects.filter(date=timezone.now().strftime('%Y-%m-%d')).order_by('market')
    if not q:
        return False
    quotes = {}

    market_id = 0
    for item in q:
        if market_id != item.market_id:
            market_id = item.market_id
            quotes[market_id] = {}
        quotes[market_id][item.crop_id] = str(item.price)

    license_key = get_license_key()
    session = Session(license_key)

    s = Subscription.objects.select_related().filter(phone_number_id=phone_number).order_by('market')
    market_id = 0
    substring = ''
    substrings_list = []
    for item in s:
        if market_id != item.market_id:
            market_id = item.market_id
            if substring:
                substrings_list.append(substring[:-1])
            substring = market_abbr[market_id] + '-'
        substring += str(item._crop_cache) + ':' + quotes[market_id][item.crop_id] + ','
    substrings_list.append(substring[:-1])
    message = '/'.join(substrings_list)
    if not message:
        return False

    try:
        response = session.send_sms(phone_number, message)
        if not response['Queued']:
            syslog.syslog('Error - Failed to send message to %s. - %s' % (phone_number,response['SMSError']))
        sms = SMS(phone_number = Farmer.objects.get(phone_number=phone_number),
                  message = message,
                  posttime = timezone.now(),
                  cdyne_posttime = response['SentDateTime'],
                  cdyne_sms_id = response['MessageID'],
                  cancelled = response['Cancelled'],
                  error = response['SMSError'],
                  queued = response['Queued'],
                  sent = response['Sent'])
        sms.save()
        return message
    except Exception, e:
        syslog.syslog(str(e))
        return False