def store(request): try: due = datetime.datetime.strptime(request.POST.get('due', ''), "%d-%m-%Y") if not due.date() >= datetime.date.today(): raise Exception("Set a due date in the future please") except: return {'status': 'error', 'fields': ['due']} text = request.POST.get('text') DBSession.add(Todo(due, text)) return {'status': 'ok'}
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) session_factory = session_factory_from_settings(settings) config = Configurator(settings=settings) config.set_session_factory(session_factory) config.add_static_view('static', 'static', cache_max_age=3600) config.add_static_view('assets', 'static', cache_max_age=86400) config.add_subscriber('simpletodo.lib.events.before_request', 'pyramid.events.NewResponse') routing.setup(config) return config.make_wsgi_app()
def close(request): todo = DBSession.query(Todo).get(request.POST.get('id')) if todo: todo.done = True
def list(request): todos = DBSession.query(Todo).filter(Todo.done!=True).order_by(Todo.due.asc()) return {'todos': [t.get_dict() for t in todos]}