TheLegace

Untitled

Apr 20th, 2013
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.42 KB | None | 0 0
  1. def index():
  2.     """
  3.    example action using the internationalization operator T and flash
  4.    rendered by views/default/index.html or views/generic.html
  5.  
  6.    if you need a simple wiki simple replace the two lines below with:
  7.    return auth.wiki()
  8.    """
  9.     response.flash = T("Welcome to web2py!")
  10.     return dict(message=T('Hello World'))
  11.  
  12. def register():
  13.     #waiterapp/default/register/?first_name=FK&last_name=sd&
  14.     #   [email protected]&username=TLK&password=web2py
  15.     #db.auth_user.insert(**db.auth_user._filter_fields(request.vars))  
  16.     # #my_crypt = (key=auth.settings.hmac_key)
  17.     id_user= db.auth_user.insert(
  18.         username=request.vars['username'],
  19.         password=db.auth_user.password.validate(request.vars['password'])[0],
  20.         first_name=request.vars['first_name'],
  21.         last_name=request.vars['last_name'],
  22.         email = request.vars['email'])
  23.     return
  24.    
  25.  
  26.  
  27. @service.jsonrpc
  28. def systemListMethods():
  29.     return ['add','sub','check_in','restaurant_menu','reserve_table','order_item']
  30.  
  31. @service.jsonrpc
  32. def add(a,b):
  33.     return a+b
  34. @service.jsonrpc
  35. def sub(a,b):
  36.     return a-b
  37.  
  38. @service.jsonrpc
  39. def restaurants_area(latitude=0, longitude=0, num=10):
  40.    
  41.     count = db(db.restaurant).count()
  42.    
  43.     session.num = session.num or num
  44.     session.count = (session.count or 0) + 1
  45.     session.range_start = session.range_start or 0
  46.     session.range_end = session.range_end or count
  47.    
  48.     session.latitude = session.latitude or latitude
  49.     session.longitude = session.longitude or longitude
  50.    
  51.     point = lambda lat,lon: Point(str(lat) + '; ' + str(lon))
  52.     p = point(session.latitude, session.longitude)
  53.     d = distance.distance
  54.    
  55.     restaurants = db(db.restaurant).select()   
  56.     restaurants = restaurants.sort(lambda row: d(p,point(row.latitude, row.longitude)).km)
  57.    
  58.     session.range_start = session.range_start if count < (int(session.count)-1)*int(session.num) else (int(session.count)-1)*int(session.num)
  59.     session.range_end = session.range_end if count < int(session.count)*int(session.num) else int(session.count)*int(session.num)
  60.    
  61.     return restaurants[session.range_start:session.range_end]
  62.  
  63. @service.jsonrpc
  64. def check_in(restaurant_id):
  65.     session.restaurant_id = db.restaurant(restaurant_id).id
  66.     return dict(restaurant_id=session.restaurant_id)
  67.  
  68. @service.jsonrpc
  69. def item_image(image_id):
  70.     return dict(url=db.restaurant_images(image_id))
  71.    
  72. @service.jsonrpc
  73. def restaurant_menu():
  74.     menu = db.restaurant(session.restaurant_id).menu
  75.     menuitems = db(db.item.id.belongs(menu.menuitems)).select(db.item.ALL)
  76.     return menuitems
  77.  
  78. @service.jsonrpc
  79. def reserve_table(capacity):
  80.     restaurant = db.restaurant(session.restaurant_id)
  81.     session.table_id = db.restaurant_table.insert(
  82.         user_id = auth.user,
  83.         restaurant=restaurant,
  84.         capacity=capacity,
  85.         booked_on=datetime.datetime.now())
  86.     return dict(table_id=session.table_id)
  87.  
  88. @service.jsonrpc
  89. def order_item(item_id,quantity=1,refill=False):
  90.     restaurant_table = db.restaurant_table(session.table_id)
  91.     restaurant_order = db.restaurant_order.insert(
  92.         user_id = auth.user,
  93.         item=item_id,
  94.         quantity=quantity,
  95.         restaurant_table=restaurant_table,
  96.         ordered_on=datetime.datetime.now())
  97.     return dict(order_id=restaurant_order)
  98.  
  99. @service.jsonrpc
  100. def count():
  101.     session.counter = (session.counter or 0) + 1
  102.     return dict(counter=session.counter, now=request.now)
Advertisement
Add Comment
Please, Sign In to add comment