def main(request): user = users.get_current_user() if not user: return direct_to_template(request, template = 'homepage.html', extra_context = {'login_url' : users.create_login_url(request.get_full_path())}) if request.method == 'POST': return_msg = {} try: date = datetime.date.fromtimestamp(time.mktime(time.strptime(request.POST['date'], '%Y-%m-%d'))) tracker = WeightTracker.all().filter('user = '******'date = ', date).get() if tracker: tracker.weight = float(request.POST['weight']) tracker.put() else: tracker = WeightTracker(weight = float(request.POST['weight']), date = date) tracker.put() return_msg['error'] = 0 return_msg['msg'] = 'Data was saved succesfully' return_msg['weight'] = str(tracker.weight) except ValueError, e: return_msg['error'] = 1 return_msg['msg'] = 'The date was not in the correct format' #Delete all cache data whenever a new entry is made memcache.delete_multi([CHART_DATA_CACHE_KEY(), BMI_CACHE_KEY()]) if request.is_ajax(): return HttpResponse(simplejson.dumps(return_msg), mimetype = 'application/json') else: return HttpResponseRedirect('/')
def handle_uploaded_file(file): lines = file.read().split('\n') for i, line in enumerate(lines): if line: date, weight = map(strip, line.split(',')) try: date = datetime.date.fromtimestamp(time.mktime(time.strptime(date, '%m/%d/%Y'))) weight = float(weight) except ValueError: return False, i + 1 entry = WeightTracker.all().filter('user = '******'date = ', date).get() if entry: entry.weight = weight else: entry = WeightTracker(date = date, weight = weight) entry.put() return True, -1