Exemplo n.º 1
0
def do_query():
    """Search for numbers in database"""
    user_input = request.forms.get('number', '')
    numbers = parse_numbers(user_input)

    number = None
    timestamps = []
    invalid_input = None

    if numbers:
        # FIXME WTF? Allow and parse a list and than pick one & silently drop the others?
        number = numbers[0]
        qry = Number.select(Number.time).where(Number.number**number).order_by(
            Number.time)
        timestamps = [n.time for n in qry]
    else:
        invalid_input = user_input

    context = {
        'result': number or invalid_input,
        'invalid_input': invalid_input,
        'timestamps': timestamps
    }

    return context
Exemplo n.º 2
0
def display():

    oldest_to_be_shown = datetime.datetime.now() - datetime.timedelta(days=MAX_DAYS)
    # TODO optimize query even more, so we don't need to iterate manually?!
    # TODO make Place variable and part of WHERE
    numbers = Number.select(Number.number).join(Place).switch(Number).annotate(Place).\
        where(Number.time >= oldest_to_be_shown).order_by(Number.number, Number.time)

    # filter numbers entered often enough
    # format numbers for later output
    display_output = sorted([{'num': n.number, 'count': int(n.count)}
                             for n in numbers if int(n.count) >= MIN_COUNT][:DISPLAY_SIZE], key=lambda n: n['num'])

    since = format_datetime(oldest_to_be_shown, 'short', locale=request.locale)
    return {'numbers': display_output,
            'since': since,
            'min_count': MIN_COUNT
            }
Exemplo n.º 3
0
def display():

    oldest_to_be_shown = datetime.datetime.combine(datetime.date.today() - datetime.timedelta(days=MAX_DAYS),
                                                   datetime.datetime.min.time())
    # TODO optimize query, so we don't need to iterate manually, e.g. by selecing only count > min_count!
    # TODO make Place variable and part of WHERE
    numbers = Number.select(Number.number, Number.time, fn.Count(Number.number).alias('count')).\
        where(Number.time >= oldest_to_be_shown).group_by(Number.number).order_by(Number.time.desc(), Number.number)

    # filter numbers entered often enough
    # format numbers for later output
    display_output = sorted([{'num': n.number, 'count': int(n.count)}
                             for n in numbers if int(n.count) >= MIN_COUNT][:DISPLAY_SIZE], key=lambda n: n['num'])

    since = format_datetime(oldest_to_be_shown, 'short', locale=get_valid_locale(request.locale))
    return {'numbers': display_output,
            'since': since,
            'min_count': MIN_COUNT
            }
Exemplo n.º 4
0
def index(password):
    print >> sys.stderr, "within index"
    try:
        if password == PASSWORD:
            print >> sys.stderr, "within try"
            sellerList = Seller.select()
            smsList = SMS.select()
            numberList = Number.select()
            l = List.select()
            marketList = Market.select()
            lrList = ListRelationship.select()
            outboxList = Outbox.select()
            return render_template("index.html", title = 'TABLES', sellerList = sellerList, smsList = smsList, l = l, marketList = marketList)
            #return 'hello world'
        else:
            print >> sys.stderr, "wrong password"
    except:
        print >> sys.stderr, "within except"
        print >> sys.stderr, str(sys.exc_info()[0]) # These write the nature of the error
        print >> sys.stderr, str(sys.exc_info()[1])
        statement = 'An exception has Occured'+ str(sys.exc_type) + '[' + str(sys.exc_value) + ']'
        return statement
Exemplo n.º 5
0
def display():

    oldest_to_be_shown = datetime.datetime.combine(
        datetime.date.today() - datetime.timedelta(days=MAX_DAYS),
        datetime.datetime.min.time())
    # TODO optimize query, so we don't need to iterate manually, e.g. by selecing only count > min_count!
    # TODO make Place variable and part of WHERE
    numbers = Number.select(Number.number, Number.time, fn.Count(Number.number).alias('count')).\
        where(Number.time >= oldest_to_be_shown).group_by(Number.number).order_by(Number.time.desc(), Number.number)

    # filter numbers entered often enough
    # format numbers for later output
    display_output = sorted([{
        'num': n.number,
        'count': int(n.count)
    } for n in numbers if int(n.count) >= MIN_COUNT][:DISPLAY_SIZE],
                            key=lambda n: n['num'])

    since = format_datetime(oldest_to_be_shown,
                            'short',
                            locale=get_valid_locale(request.locale))
    return {'numbers': display_output, 'since': since, 'min_count': MIN_COUNT}
Exemplo n.º 6
0
def do_query():
    """Search for numbers in database"""
    user_input = request.forms.get('number', '')
    numbers = parse_numbers(user_input)

    number = None
    timestamps = []
    invalid_input = None

    if numbers:
        # FIXME WTF? Allow and parse a list and than pick one & silently drop the others?
        number = numbers[0]
        qry = Number.select(Number.time).where(Number.number ** number).order_by(Number.time)
        timestamps = [n.time for n in qry]
    else:
        invalid_input = user_input

    context = {
        'result': number or invalid_input,
        'invalid_input': invalid_input,
        'timestamps': timestamps
    }

    return context
Exemplo n.º 7
0
def create_Number_List():
    numberList = []
    for number in Number.select():
        numberList.append(number.number)
    return numberList
Exemplo n.º 8
0
def check_Seller_Exists(newSMS):
    for number in Number.select():
        if number == newSMS.number and number.seller:
            print 'a seller is already associated with the number of this incoming sms!'
            return True