def post(): form = PostForm.get_form() if request.method == "POST": success = form.validate(request.form) data = form.data_by_attr() if success: try: year, week = data['week'].split('-') post = Post(user=g.user.id, year=year, week=week, body=data['body']) post.save() except mongoengine.errors.OperationError: form.start.add_error({'message': 'Unknown database error, please retry.'}) except mongoengine.errors.ValidationError: form.start.add_error({'message': 'You\'ve already posted for this date'}) else: return redirect(url_for('index', week=week, year=year) + "#" + str(post.id)) return render_template('post.html', form=form.render())
consoleHandler.setFormatter(logFormatter) rootLogger.addHandler(consoleHandler) rootLogger.setLevel(logging.INFO) if __name__ == "__main__": parser = argparse.ArgumentParser(description='Add lipsum to posts data for testing') parser.add_argument('go', help='Must equal exactly "true" to avoid accidents') args = parser.parse_args() if args.go == "true": now = datetime.datetime.now().isocalendar() week = now[1] - 1 year = now[0] for i in range(-3, 3): for team in Team.objects.all(): if team.text == "Other": continue for user in team.users(): try: pst = Post.objects.get(user=user, week=week+i, year=year) pst.delete() except Post.DoesNotExist: pass pst = Post(user=user, week=week+i, year=year, body='\n\n'.join(get_paragraphs(3))) pst.save()