def main(request): user = getUser(request) meal_on = True if isWeekend(): meal_on = False """Get expiration""" pacific = timezone('US/Pacific') pa_time = datetime.now(pacific) pa = pa_time.strftime('%d,%m,%Y,%B,%A') date_array = pa.split(',') day_as_num = int(date_array[0]) month_as_num = int(date_array[1]) - 1 year = date_array[2] """Get meal""" id=None store=None selected_recipes, item_dict, total = getMeal('sanfrancisco', store, id) url = None r_name = None r_attr = None if selected_recipes: r = selected_recipes[0] r_name = r.name r_attr = r.attribution image_key = str(r.image.file.blobstore_info.key()) url = images.get_serving_url(image_key) else: meal_on = False if request.method == 'POST': prospect = ProspectForm(request.POST) # A form bound to the POST data if prospect.is_valid(): new_p = prospect.save() """Save location""" try: new_p.full_address = request.session['location'] except KeyError: pass new_p.save() #logging.debug('New address: %s' % new_p.full_address) """Save referrer""" new_p.referrer = request.session['whereFrom'] new_p.save() if 'referral' in request.GET: new_p.invite = request.GET.get('referral') new_p.save() return thanks_page(request, new_p) else: prospect = ProspectForm() CITY_LIST = ['San Francisco', 'Other'] request.session['whereFrom'] = request.META.get('HTTP_REFERER', '') template = 'home/home_current.html' data = {'user':user, 'form':prospect, 'year':year, 'date_today':pa_time, 'rname':r_name, 'rattr':r_attr, 'image':url, 'dn':day_as_num, 'mn':month_as_num, 'city_list':CITY_LIST, 'meal_on':meal_on} return render_to_response(template, data,context_instance=RequestContext(request))
def api_order(request, city): #Check cache from google.appengine.api import memcache pacific = timezone('US/Pacific') now = datetime.now(pacific) tomorrow = datetime(now.year, now.month, now.day, 23, 59, 59, tzinfo=pacific) td = tomorrow-now expire = td.seconds order = memcache.get("latest_order-1") #if current_order(order): if False: return HttpResponse(order,content_type = 'application/javascript; charset=utf8') else: user = getUser(request) id = None """Get Meal""" selected_recipes, item_dict, total = getMeal(city, id) if selected_recipes: r = selected_recipes[0] else: #get earliest from previous day selected_recipes, item_dict, total = getLatestMeal(city,id) r = selected_recipes[0] servings = r.serv cooktime = r.cooktime name = r.name """Get Directions """ #Check for direction sections - looks for <u> tag directions = r.dirfull dirfull_dict = format_directions(directions) """Get Service fee """ service_fee = '3.99' if user: subscribed = isSubscriber(user) if subscribed: service_fee = '0.00' """Get Ingredients """ #Check for direction sections - looks for <u> tag ingredients = r.ingrfull ingrfull_dict = format_ingredients(ingredients) """Get all stores""" from django.core import serializers data = serializers.serialize("json", Store.objects.filter(city='San Francisco', active=True),fields=('store_name','street1','city','state','postal_code','lat','lng')) sdata = simplejson.loads(data) stores = [] for s in sdata: f = s['fields'] store_dict = {} store_dict['storeid'] = s['pk'] store_dict['name'] = f['store_name'] store_dict['street'] = f['street1'] store_dict['city'] = f['city'] store_dict['state'] = f['state'] store_dict['state'] = f['state'] store_dict['country'] = 'United States' store_dict['zip'] = f['postal_code'] store_dict['lat'] = f['lat'] store_dict['lng'] = f['lng'] stores.append(store_dict) """Get image""" image_key = str(r.image.file.blobstore_info.key()) url_x = images.get_serving_url(image_key) url = '%s=s320'% url_x s1 = Store.objects.all()[2] pickuptime = getTime(s1) code = 200 ps_all = get_currentday_promo('sanfrancisco') if ps_all: ps = ps_all[0] else: ps_all = get_latest_promo('sanfrancisco') ps = ps_all[0] #Sample format "2011-11-15T09:58:52-0800" promo_date_x = ps.date pacific = timezone('US/Pacific') promo_date = promo_date_x.replace(tzinfo=pacific) #Need to update dt = datetime(year=promo_date.year, month=promo_date.month, day=promo_date.day, hour=16, minute=30, tzinfo=pacific) endtime = dt.strftime('%Y-%m-%dT%H:%M:%S%z') #Used for testing #now = datetime.now(pacific) #dt = datetime(year=now.year, month=now.month, day=now.day, hour=16, minute=30, tzinfo=pacific) #endtime = dt.strftime('%Y-%m-%dT%H:%M:%S%z') """Get items for meal""" item_array = [] itemfull_dict = {} for k,v in item_dict.items(): items = {} items['name'] = k items['price'] = "%.2f" % v items['selected'] = inExclude(k) item_array.append(items) new_dict = nonexcluded_item_dict(item_dict) item_dict, total = get_items_latest_price(new_dict, ps) price = total/r.serv price_per = ("%.2f" % price) total_x = ("%.2f" % total) pe = PromoEmail.objects.get(promoschedule=ps) summary = pe.meal_summary id = str(pe.id) meal_dict = {'image': url, 'cooktime': cooktime,'dirfull':dirfull_dict, 'endtime': endtime, 'ingrfull':ingrfull_dict, 'item_selections': item_array, 'name':name, 'promoid':ps.id, 'pickuptime':pickuptime, 'price_per':price_per, 'servings':servings, 'stores':stores, 'summary':summary, 'total':total_x, 'id':id, 'service_fee':service_fee} data = {'code':code, 'meal':meal_dict} order = simplejson.dumps(data, cls=MyJSONEncoder) memcache.delete("latest_order-1") if not memcache.add("latest_order-1", order): logging.error("Memcache set failed.") return HttpResponse( order, content_type = 'application/javascript; charset=utf8' )