Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import random
- import datetime
- def gen_random_date():
- date_str = "%4d-%02d-%02d %02d:%02d:%02d" % (random.randint(1980,2018), random.randint(1,12), random.randint(1,28),
- random.randint(0,23), random.randint(0,59), random.randint(0,59))
- return datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
- def create_object():
- class Foo(object):
- def __init__(self, created, modified, number):
- self.created = created
- self.modified = modified
- self.number = number
- obj = Foo(gen_random_date(), gen_random_date(), random.randint(1,100))
- #print("[{}] {} | {} | {}".format(id(obj), obj.created, obj.modified, obj.number))
- return obj
- created_filter = lambda x: gen_random_date() <= x.created <= gen_random_date()
- modified_filter = lambda x: gen_random_date() <= x.modified <= gen_random_date()
- number_filter = lambda x: random.randint(1,100) <= x.number <= random.randint(1,100)
- now = datetime.datetime.now()
- for i in range(10000):
- # Create some object
- o = create_object()
- x = [o]
- if any( map( lambda l: len(l) > 0, [ filter(func, x) for func in [created_filter, modified_filter, number_filter] ] ) ):
- print("[{}] {} | {} | {} - Within Range".format(id(o), o.created, o.modified, o.number))
- else:
- print("[{}] {} | {} | {} - NOT Within Range".format(id(o), o.created, o.modified, o.number))
- print("Took {}".format(datetime.datetime.now() - now))
Add Comment
Please, Sign In to add comment