def add(): #form=request.form #直接使用前端request传来的数据实例化form #form=TodoListForm(request.form) form = TodoListForm() #form.content=request.form['content'] if form.validate_on_submit(): form.content = request.form['content'] todolist = TodoList() todolist.content = form.content db.session.add(todolist) db.session.commit() # todolists=TodoList.query.order_by(TodoList.create_time.desc()) # todolists=todolists.all() # return render_template('index.html', todolists=todolists, form=form) #翻页的时候会报错 # page_index = request.args.get('page', 1, type=int) # query = TodoList.query.order_by(TodoList.create_time.desc()) # pagination = query.paginate(page_index, per_page=10, error_out=False) # todolists = pagination.items # return render_template('index.html',todolists=todolists,form=form, # pagination=pagination) return redirect(url_for('index'))
def test_empty_list(self): #given #when todoList = TodoList() #then self.assertTrue(todoList.is_empty())
def test(): params = request.args device_id = params.get("device_id") todo = TodoList(random.randint(10, 1000), params.get("title"), 1) todo.save() return jsonify({"test": todo.create_time})
def test_list_tasks(self): #given todoList = TodoList() todoList.add_task('afeitar al gato') #when #then self.assertTrue(False)
def todo_add(username): user = User.query.filter_by(username=username).first() # log('user= '******'form= ', form) one_todo = TodoList(form) one_todo.user = user # log('one_todo= ', one_todo.id, one_todo.content, one_todo.user_id) one_todo.save() return redirect(url_for('todo_add_view', username=username))
def post(self): data = super().post() name = data.get('name') todo_lists = TodoList.query.filter_by(name=name).all() if todo_lists: return self.abort( f'Todo list with the name "{name}" already exists!') new_todo_list = TodoList(name=name) self.session.add(new_todo_list) self.session.commit() return self.make_response(new_todo_list.serialize())
def post(self, account_id): self.response.headers['Content-Type'] = 'application/json' try: account = Account.get_by_id(int(account_id)) todo_list_data = json.loads(self.request.body) todo_list = TodoList(title=todo_list_data.get('title'), status=todo_list_data.get('status'), account=account.key, parent=account.key) todo_list.put() result = {'id': todo_list.key.id()} self.response.out.write(json.dumps(result)) except Exception as e: result = {'error': 'Unexpected error has occurred', 'message': e.message} self.response.set_status(500, json.dumps(result)) self.response.out.write(json.dumps(result))
def post(self, account_id, todo_list_id, todo_item_id): self.response.headers['Content-Type'] = 'application/json' try: account = Account.get_by_id(int(account_id)) todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key) item_data = json.loads(self.request.body) todo_iem = TodoItem.get_by_id(id=int(todo_item_id), parent=todo_list.key) if todo_iem: todo_iem.populate(**item_data) todo_iem.put() item_dict = todo_iem.to_dict(exclude=['created', 'updated', 'todo_list']) item_dict['id'] = todo_iem.key.id() self.response.out.write(json.dumps(item_dict)) else: result = {'error': 'Bad Request', 'message': 'Invalid todo item %s' % todo_item_id} self.response.set_status(400, json.dumps(result)) self.response.out.write(json.dumps(result)) except AttributeError as ae: result = {'error': 'Bad request', 'message': ae.message} self.response.set_status(400, json.dumps(result)) self.response.out.write(json.dumps(result)) except Exception as e: result = {'error': 'Unexpected error has occurred', 'message': e.message} self.response.set_status(500, json.dumps(result)) self.response.out.write(json.dumps(result))
def show_todo_list(): form = TodoListForm() if request.method == 'GET': todolists = TodoList.query.all() if current_user: flag = 1 else: flag = 0 print(flag) return render_template('index.html', todolists=todolists, flag=flag, form=form) else: if form.validate_on_submit(): print(form.title.data + '-----' + form.status.data + "----" + form.time.data) todolist = TodoList(current_user.id, form.title.data, form.status.data, form.time.data) # print(todolist) db.session.add(todolist) db.session.commit() flash('You have add a new todo list') else: flash(form.errors) return redirect(url_for('show_todo_list'))
def uploadTodolist(): if request.method != "POST": return json.dumps({"status": 401, "msg": "request method error"}) data = json.loads(request.get_data(as_text=True)) todolist = data.get("todolist") if not todolist and todolist !=[] : return json.dumps({"status": 402, "msg": "参数缺失"}) try: db.drop_all() db.create_all() except Exception as e: return json.dumps({"status": 402, "msg": "去除旧数据失败"}) if todolist == []: return json.dumps({"status": 200, "msg": "ok"}) for todo in todolist: try: todoObj = TodoList(value=todo.get("value"), isEdited=todo.get("isEdited"),isSelected=todo.get("isSelected")) except Exception as e: return json.dumps({"status": 402, "msg": "添加新数据操作发生异常"}) db.session.add_all([todoObj]) db.session.commit() return json.dumps({"status": 200, "msg": "ok"})
def addTodoObj(): """ 添加todo对象方法 """ if request.method != "POST": return json.dumps({"status": 401, "msg": "request method error"}) data = json.loads(request.get_data(as_text=True)) value = data.get("value") isEdited = data.get("isEdited") isSelected = data.get("isSelected") if not all([value]): return json.dumps({"status": 402, "msg": "参数缺失"}) try: count = db.session.query(TodoList).filter_by(value=value).count() except Exception as e: return json.dumps({"status": 402, "msg": "查重操作发生异常"}) if count > 0: return json.dumps({"status": 402, "msg": "已存在事件 请重新添加"}) try: todoObj = TodoList(value=value, isEdited=isEdited,isSelected=isSelected) except Exception as e: return json.dumps({"status": 402, "msg": "添加操作发生异常"}) db.session.add_all([todoObj]) db.session.commit() return json.dumps({"status": 200, "msg": "ok"})
def create_todo_lists(): json_data = request.json lists = json_data['lists'] for todo_list in lists: db_session.add(TodoList(**todo_list)) db_session.commit() return jsonify('Success')
def show_todo_list(page=None): if not page: page = 1 form = TodoListForm() if request.method == 'GET' and current_user.id == 1: # todolists = TodoList.query.all() todolists = TodoList.query.filter_by(user_id=1).order_by( TodoList.create_time.desc()).paginate(page=page, per_page=5) return render_template('index.html', todolists=todolists.items, pagination=todolists, form=form) elif current_user.id != 1: tdl = TodoList.query.filter_by(user_id=current_user.id).order_by( TodoList.create_time.desc()).paginate(page=page, per_page=5) return render_template('index.html', todolists=tdl.items, pagination=tdl, form=form) else: if form.validate_on_submit(): todolist = TodoList(current_user.id, form.title.data, form.content.data, form.status.data, current_user.username) db.session.add(todolist) db.session.commit() flash('新内容添加成功!') else: flash(form.errors) return redirect(url_for('show_todo_list'))
def todo(request, project_name): """Allows to create a new todolist and todoitems. Actions available here: Add a todolist: Owner Participant Add a todoitem: Owner Participant """ project = get_project(request, project_name) access = get_access(project, request.user) if request.GET.get('includecomplete', 0): lists = TodoList.objects.filter(user=request.user, project=project) else: lists = TodoList.objects.filter(user=request.user, project=project, is_complete_attr=False) addlistform = bforms.AddTodoListForm() if request.method == 'POST': if request.POST.has_key('addlist'): addlistform = bforms.AddTodoListForm(project, request.user, request.POST) if addlistform.is_valid(): addlistform.save() return HttpResponseRedirect('.') elif request.POST.has_key('additem'): id = int(request.POST['id']) list = TodoList.objects.get(id=id) text_id = '%s-text' % list.id if request.POST[text_id]: item = TodoItem(list=list, text=request.POST[text_id]) item.save() elif request.POST.has_key('listmarkdone'): id = int(request.POST['id']) list = TodoList.objects.get(id=id) list.is_complete = True list.save() return HttpResponseRedirect('.') elif request.POST.has_key('itemmarkdone'): id = int(request.POST['id']) todoitem = TodoItem.objects.get(id=id) todoitem.is_complete = True todoitem.save() return HttpResponseRedirect('.') if request.method == 'GET': addlistform = bforms.AddTodoListForm() if request.GET.get('csv', ''): response, writer = reponse_for_cvs(project=project) writer.writerow(('Todo Lists',)) writer.writerow(TodoList.as_csv_header()) lists = TodoList.objects.filter(user=request.user, project=project) for list in lists: writer.writerow(list.as_csv()) for list in lists: for item in list.todoitem_set.all(): writer.writerow(item.as_csv()) return response payload = {'project': project, 'lists': lists, 'addlistform': addlistform} return render(request, 'project/todo.html', payload)
def post(self): # create new list, return id new_list = TodoList() new_list.task_count = 0 new_list.remote_addr = self.request.remote_addr new_list.referer = self.request.headers.get('Referer') new_list.put() self.json({'list': new_list.to_dict()})
def get(self, account_id, todo_list_id): self.response.headers['Content-Type'] = 'application/json' try: account = Account.get_by_id(int(account_id)) todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key) todo_list_dict = todo_list.to_dict(exclude=['account', 'created', 'updated']) self.response.out.write(json.dumps(todo_list_dict)) except Exception as e: result = {'error': 'Unexpected error has occurred', 'message': e.message} self.response.set_status(500, json.dumps(result)) self.response.out.write(json.dumps(result))
def list_handler_method(self, *args): list_id = args[0] list_id = long(list_id) my_list = TodoList.get_by_id(list_id) if not my_list: self.not_found() return args = list(args) args[0] = my_list return method(self, *args)
def add_todo( uid ): user = User.query.get( int( uid ) ) title = request.form[ 'title' ] desc = request.form[ 'desc' ] color = request.form[ 'color' ] priority = request.form[ 'priority' ] newTodo = TodoList( title, desc, color, priority, user ) db.session.add( newTodo ) db.session.commit() return redirect('/user/' + str(user.id) )
def post(self, **kwargs): data = request.data if not data: data = '{}' data = json.loads(data) name = data.get('name') if not name: return abort(400, 'no name posted') new_list = TodoList(name=name) self.session.add(new_list) self.session.commit() return name
def handle_listpost(): todolist = request.json new_todolist = TodoList(user=todolist["user"], label=todolist["label"], done=todolist["done"]) db.session.add(new_todolist) db.session.commit() posttodolist = TodoList.query.filter_by(user=todolist["user"]) response_body = list(map(lambda x: x.serialize(), posttodolist)) return jsonify(response_body), 200
def on_post(self, req, resp): if not req.content_length: resp.status = falcon.HTTP_422 return data = req.context['body'] try: list, created = TodoList.get_or_create(name=DEFAULT_LIST) t = Todo.create(list=list, **data) resp.body = json.dumps(model_to_dict(t), cls=Encoder) resp.status = falcon.HTTP_201 except IntegrityError as e: log.exception('Failed to create todo.') resp.status = falcon.HTTP_422
def add_todo_list(): form = TodoListForm() if request.method == 'GET': todolists = TodoList.query.filter_by(user_id=current_user.id).filter( TodoList.status >= 1).all() if len(todolists) < 1: flash("没有家务日志,请添加") return render_template('newadd.html', todolists=todolists, form=form) else: if form.validate_on_submit(): if form.bz.data == '1': todolist = TodoList(current_user.id, form.title.data + " (额外)", form.status.data, form.score.data, form.bz.data) else: todolist = TodoList(current_user.id, form.title.data, form.status.data, form.score.data, form.bz.data) db.session.add(todolist) db.session.commit() flash('新增了一个家务') else: flash(form.errors) return redirect(url_for('add_todo_list'))
def add_todo_list(): form = TodoListForm() if request.method == 'POST': date = form.wrk_date.data.strftime('%Y-%m-%d') print(date) if form.validate_on_submit(): todolist = TodoList(current_user.id, date, form.title.data, form.content.data, form.status.data, current_user.username) db.session.add(todolist) db.session.commit() flash(current_user.username + '添加了一条新的工作内容') else: flash(form.errors) return redirect(url_for('show_todo_list'))
def show_todo_list(): form = TodoListForm() if request.method == 'GET': todolists = TodoList.query.all() return render_template('index.html', todolists=todolists, form=form) else: if form.validate_on_submit(): todolist = TodoList(current_user.id, form.title.data, form.status.data) db.session.add(todolist) db.session.commit() flash('Сіз жаңа todo тізімін қосдыңыз') else: flash(form.errors) return redirect(url_for('show_todo_list'))
def index(): form = TodoListForm() if request.method == 'GET': todolists = TodoList.query.filter_by(name=session['username']).all() return render_template('index.html', todolists=todolists, form=form) else: if form.validate_on_submit(): todolist = TodoList(str(uuid1()), session['username'], form.title.data, form.status.data) db.session.add(todolist) db.session.commit() flash('You have add a new todo list') else: flash('validate string!') return redirect(url_for('test.index'))
def show_todo_list(): todoListform = TodoListForm() if request.method == 'GET': todolists = TodoList.query.all() return render_template("index_follow.html", todo_list=todolists, form=todoListform, title=u"首页") elif request.method == 'POST': if todoListform.validate_on_submit(): todolist = TodoList(user_id=current_user.id, title=todoListform.title.data, status=todoListform.status.data) db.session.add(todolist) db.session.commit() flash('记录新增成功!') else: flash(todoListform.errors) return redirect(url_for('main.show_todo_list'))
def test_add_task(self): #given todoList = TodoList() #when todoList.add_task('afeitar al gato') #then self.assertFalse(todoList.is_empty()) self.assertEquals('afeitar al gato', todoList.first_task())
def get(self, account_id): self.response.headers['Content-Type'] = 'application/json' try: account = Account.get_by_id(int(account_id)) logging.info(account) lists = TodoList.query(TodoList.account == account.key, ancestor=account.key).fetch() lists_array = [] for todo_list in lists: todo_list_dict = todo_list.to_dict(exclude=['created', 'updated', 'account']) todo_list_dict['id'] = todo_list.key.id() lists_array.append(todo_list_dict) result = {'todo_lists': lists_array} self.response.out.write(json.dumps(result)) except Exception as e: result = {'error': 'Unexpected error has occurred', 'message': e.message} self.response.set_status(500, json.dumps(result)) self.response.out.write(json.dumps(result))
def get(self, account_id, todo_list_id): self.response.headers['Content-Type'] = 'application/json' try: account = Account.get_by_id(int(account_id)) todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key) todo_items = TodoItem.query(TodoItem.todo_list == todo_list.key, ancestor=todo_list.key).order(-TodoItem.created) todo_items_array = [] for item in todo_items: item_dict = item.to_dict(exclude=['created', 'updated', 'todo_list']) item_dict['id'] = item.key.id() todo_items_array.append(item_dict) result = {'todo_items': todo_items_array} self.response.out.write(json.dumps(result)) except Exception as e: result = {'error': 'Unexpected error has occurred', 'message': e.message} self.response.set_status(500, json.dumps(result)) self.response.out.write(json.dumps(result))
def post(self, account_id, todo_list_id): self.response.headers['Content-Type'] = 'application/json' try: data = json.loads(self.request.body) items = data.get('items', [data]) account = Account.get_by_id(int(account_id)) todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key) item_array = [] for item_data in items: item = TodoItem(text=item_data.get('text'), status=item_data.get('status'), todo_list=todo_list.key, parent=todo_list.key) item.put() item_array.append({'id': item.key.id()}) result = {'items': item_array} self.response.out.write(json.dumps(result)) except Exception as e: result = {'error': 'Unexpected error has occurred', 'message': e.message} self.response.set_status(500, json.dumps(result)) self.response.out.write(json.dumps(result))
def post(self): """ create an instance :return: created instance in json view, 201 status code """ json_data = request.get_json(force=True) if not json_data: return {'message': 'No input data provided'}, 400 errors = todo_schema.validate(json_data) if errors: return errors, 422 # Validate and deserialize input todolist = TodoList.query.filter_by(name=json_data['name']).first() if todolist: return {'message': 'Todolist already exists'}, 400 todolist = TodoList(name=json_data['name']) db.session.add(todolist) db.session.commit() result = todo_schema.dump(todolist) return {"status": 'success', 'todolist': result}, 201
def create_list(): ''' Create a new list item ''' error = False body = {} try: listname = request.get_json()['name'] neue_liste = TodoList(name=listname) db.session.add(neue_liste) db.session.commit() body['id'] = neue_liste.id body['name'] = neue_liste.name except Exception: error = True db.session.rollback() print(sys.exc_info()) finally: db.session.close() if error: abort(400) else: return jsonify(body)
def save(self): list = TodoList(name=self.cleaned_data['name'], user=self.user, project=self.project) list.save() return list
# -*- coding: utf-8 -*- # This app use json format in http body import uuid import ujson from tendaysweb import TenDaysWeb, Response, HttpException from aiomysql import create_pool from models import TodoList, Todo db_connection_pool = None app = TenDaysWeb('todolist') todolist = TodoList() SELECT_ALL_SQL = ''' SELECT * FROM todolist_wechat; ''' SELECT_SQL = ''' SELECT * FROM todolist_wechat WHERE wechat_uuid=%s;\ ''' INSERT_SQL = '''INSERT INTO todolist_wechat(uuid, wechat_uuid, title, content) VALUES(%s, %s, %s, %s); ''' DELETE_SQL = '''DELETE FROM todolist_wechat WHERE uuid=%s;''' @app.signal(signal_type='run_before_start') async def init_connection_pool(loop):
def addList(): newList = TodoList() newList.name = "New Todo List" db.session.add(newList) db.session.commit() return redirect(url_for('routes.showLists'))
def test_add_many_tasks(self): #given todoList = TodoList() todoList.add_task('afeitar al gato') #when todoList.add_task('Afeitar al perro') todoList.add_task('Peinar la mugneca') #then self.assertEqual(3, todoList.length()) self.assertTrue(todoList.contains('afeitar al gato')) self.assertTrue(todoList.contains('Afeitar al perro')) self.assertTrue(todoList.contains('Peinar la mugneca'))
def mutate(self, name): if request.method == "POST": todo_list = TodoListModel(name=name) todo_list.create() result = Success(yeah='yeah') return CreateTodoList(result=result)