示例#1
0
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('/')
示例#2
0
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