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
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 }
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 }
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
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}
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
def create_Number_List(): numberList = [] for number in Number.select(): numberList.append(number.number) return numberList
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