Ejemplo n.º 1
0
    def delete_response_for(self, key):
        self.service.delete(key)
        return Response(status=204)

    def post_response_for(self, req):
        form = self.get_form(req)
        if form.validate():
            key = self.service.create(form)
            view = self.view(key.get()).__dict__
            return Response(json.dumps(view), 201, mimetype='application/json')
        else:
            view = self.view.from_form(form)
            return Response(json.dumps(view),
                            status=400,
                            mimetype='application/json')

    def get_form(self, req):
        return self.form.from_json(req.get_json())


class MarkdownPreview(Resource):
    @staticmethod
    def post():
        view = MarkdownPreviewView(request.get_json()['preview']).__dict__
        return Response(json.dumps(view), 200, mimetype='application/json')


api.add_resource(MarkdownPreview,
                 blog_api_root + '/markdown/preview',
                 endpoint='markdown_preview')
Ejemplo n.º 2
0
        sys_parameters_serialize = sys_parameters.sys_parameters_schema()

        client = AipSpeech(sys_parameters_serialize.get('baidu_app_id'),
                           sys_parameters_serialize.get('baidu_app_key'),
                           sys_parameters_serialize.get('baidu_secret_key'))
        voice_text = client.asr(self.get_file_content(wave_file_path), 'wav',
                                16000, {'lan': 'zh'})
        print("结果:", voice_text)
        return voice_text['result'][0]

    def get_file_content(self, filePath):
        with open(filePath, 'rb') as fp:
            return fp.read()


api.add_resource(TokenResource, '/API/token/')
api.add_resource(LoginResource, '/API/normal-login/')
api.add_resource(RegisterResource, '/API/register/')
api.add_resource(LogoutResource, '/API/logout/')

api.add_resource(UserListResource, '/API/base-api/user-profile/')
api.add_resource(UserResource, '/API/base-api/user-profile/<int:user_id>/')

api.add_resource(PatientListResource, '/API/base-api/patient/')
api.add_resource(PatientResource, '/API/base-api/patient/<int:patient_id>/')

api.add_resource(VoiceListResource, '/API/base-api/voice/')
api.add_resource(VoiceResource, '/API/base-api/voice/<int:voice_id>/')

api.add_resource(QueryUserResource, '/API/base-api/query-user-profile/')
api.add_resource(QueryPatienResource, '/API/base-api/query-patient/')
Ejemplo n.º 3
0
		else:
			view = self.view.from_form(form)
			return Response(json.dumps(view), status=400, mimetype='application/json')

	def delete_response_for(self, key):
		self.service.delete(key)
		return Response(status=204)

	def post_response_for(self, req):
		form = self.get_form(req)
		if form.validate():
			key = self.service.create(form)
			view = self.view(key.get()).__dict__
			return Response(json.dumps(view), 201, mimetype='application/json')
		else:
			view = self.view.from_form(form)
			return Response(json.dumps(view), status=400, mimetype='application/json')

	def get_form(self, req):
		return self.form.from_json(req.get_json())


class MarkdownPreview(Resource):
	@staticmethod
	def post():
		view = MarkdownPreviewView(request.get_json()['preview']).__dict__
		return Response(json.dumps(view), 200, mimetype='application/json')


api.add_resource(MarkdownPreview, blog_api_root + '/markdown/preview', endpoint='markdown_preview')
Ejemplo n.º 4
0
	@staticmethod
	def delete(self, key):
		return handler.delete_response_for(key)


class CommentCL(Resource):
	@staticmethod
	def post(self):
		return handler.post_response_for(request)


class CommentApprove(Resource):
	@staticmethod
	def put(self, key):
		service.approve_comment(key)
		return Response(status=204)


class CommentSpam(Resource):
	@staticmethod
	def put(self, key):
		service.spam_comment(key)
		return Response(status=204)


api.add_resource(CommentRUD, '/blog-api/comment/<string:key>', endpoint='comment_rud')
api.add_resource(CommentCL, '/blog-api/comment', endpoint='comment_cl')

api.add_resource(CommentApprove, '/blog-api/comment/<string:key>', endpoint='comment_approve')
api.add_resource(CommentSpam, '/blog-api/spam/<string:key>', endpoint='comment_spam')
Ejemplo n.º 5
0
		entry = service.get_by_slug(Entry, slug)
		view = EntryView(entry).__dict__
		return Response(json.dumps(view), 200, mimetype='application/json')


class EntryBannerInfo(Resource):
	def get(self, year, month, slug):
		entry = service.get_by_slug(Entry, slug)
		view = EntryBannerView(entry).__dict__
		return Response(json.dumps(view), 200, mimetype='application/json')


class EntryList(Resource):
	def get(self):
		entries = service.get_all_entries()
		return get_sorted_entries_response_by_date(entries)


entry = '/entry'
api.add_resource(EntryRUD, admin_blog_root + entry + '/<string:key>', endpoint='entry_rud')
api.add_resource(EntryCL, admin_blog_root + entry, endpoint='entry_cl')

api.add_resource(EntryByCategory, blog_api_root + entry + '/category/<string:category>', endpoint='entry_category')
api.add_resource(EntryByYear, blog_api_root + entry + '/year/<int:year>', endpoint='entry_year')
api.add_resource(EntryByMonth, blog_api_root + entry + '/month/<int:year>/<int:month>', endpoint='entry_month')
api.add_resource(EntryBySlug, blog_api_root + entry + '/slug/<int:year>/<int:month>/<string:slug>', endpoint='entry_slug')
api.add_resource(EntryList, blog_api_root + entry + '/list', endpoint='entry_list')
api.add_resource(EntryByTag, blog_api_root + entry + '/tag/<string:tag>', endpoint='entry_tag')

api.add_resource(EntryBannerInfo, blog_api_root + entry + '/banner/<int:year>/<int:month>/<string:slug>')
Ejemplo n.º 6
0
        imagePath = app.root_path+"/web/static/images/logo.png"
        return send_file(imagePath,mimetype='image/png')
@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'),404

@socketio.on('connect')
def connect():
    print("Connected to /")
    

#Peeps API

#Authtentication API 

api.add_resource(auth.Activate, '/api/auth/activate')
api.add_resource(auth.ActivateURL, '/api/auth/confirm/<token>')
api.add_resource(auth.Login, '/api/auth/login')
api.add_resource(auth.TokenRefresh, '/api/auth/refresh')
api.add_resource(auth.Register, '/api/auth/register')
#Users API
api.add_resource(users.SearchUser,'/api/users/search')
api.add_resource(users.Users,'/api/users')

#User API
api.add_resource(inbox.ReplyInvitationInbox, '/api/user/inbox/reply_invitation')
api.add_resource(inbox.GroupInvitationInbox, '/api/user/inbox/group_invitation')
api.add_resource(users.Profile, '/api/user/profile')
api.add_resource(users.ProfileImage, '/api/user/upload')
api.add_resource(users.UserAssignmentsAndTasks,'/api/user/tasks')
api.add_resource(users.Role,'/api/user/role')
Ejemplo n.º 7
0
    @staticmethod
    def get():
        categories = service.get_all_categories()
        view = [CategoryView(cat).__dict__ for cat in categories]
        return Response(json.dumps(view), 200, mimetype="application/json")

    @staticmethod
    def post():
        return handler.post_response_for(request)


class Categories(Resource):
    @staticmethod
    def get():
        categories = service.get_all_categories()
        view = [CategorySummaryView(cat).__dict__ for cat in categories]
        return Response(json.dumps(view), 200, mimetype="application/json")


class CategoryBySlug(Resource):
    def get(self, slug):
        cat = service.get_by_slug(Category, slug)
        return handler.get_response_for(key=cat.key)


api.add_resource(CategoryRUD, admin_blog_root + category + "/<string:key>", endpoint="category_rud")
api.add_resource(CategoryCL, admin_blog_root + category, endpoint="category_cl")

api.add_resource(Categories, blog_api_root + category + "/list", endpoint="category_list")
api.add_resource(CategoryBySlug, blog_api_root + category + "/slug/<string:slug>", endpoint="category_slug")
Ejemplo n.º 8
0
###############################################################################
# Sitemap stuff
###############################################################################
@app.route('/sitemap.xml')
def sitemap():
	response = flask.make_response(flask.render_template(
			'sitemap.xml',
			lastmod=config.CURRENT_VERSION_DATE.strftime('%Y-%m-%d'),
	))
	response.headers['Content-Type'] = 'application/xml'
	return response


###############################################################################
# Warmup request
###############################################################################
@app.route('/_ah/warmup')
def warmup():
	# TODO: put your warmup code here
	return 'success'


class User(Resource):
	@staticmethod
	def get():
		return make_response(render_template('user.html', html_class="home"))


api.add_resource(Welcome, '/')
api.add_resource(User, '/user')
Ejemplo n.º 9
0
	def delete(key):
		return handler.delete_response_for(key)

	@staticmethod
	def put(key):
		return handler.put_response_for(key, request)


class TagCL(Resource):
	@staticmethod
	def get():
		tags = service.get_all_tags()
		view = [TagView(tag).__dict__ for tag in tags]
		sorted_view = sorted(view, key=lambda t: t['category'])
		return Response(json.dumps(sorted_view), 200, mimetype='application/json')

	@staticmethod
	def post():
		return handler.post_response_for(request)


class TagBySlug(Resource):
	def get(self, slug):
		cat = service.get_by_slug(Tag, slug)
		return handler.get_response_for(key=cat.key)

api.add_resource(TagRUD, admin_blog_root + tag + '/<string:key>', endpoint='tag_rud')
api.add_resource(TagCL, admin_blog_root + tag, endpoint='tag_cl')

api.add_resource(TagBySlug, blog_api_root + tag + '/slug/<string:slug>', endpoint='tag_slug')
Ejemplo n.º 10
0
        else:
            pass

        if args['type']:
            example.type = args['type']
        else:
            pass

        example.put()

        return jsonify(example=[example.serialize()])


@app.errorhandler(404)
def page_not_found(env):
    """Return 404 error page"""
    return 'Page not found-ed.', 404


@app.errorhandler(500)
def application_error(e):
    """Return custom 500 error."""
    return 'Application error: {}'.format(e), 500


api.add_resource(Index, '/', endpoint='index')
api.add_resource(ExampleList, '/api/v1/examples/', endpoint='examples')
api.add_resource(ExampleDetail,
                 '/api/v1/examples/<example_id>',
                 endpoint='example_detail')
Ejemplo n.º 11
0

class PostResource(Resource):
    def get(self, post_id):
        post = Post.query.get_or_404(post_id)
        return post_schema.dump(post)

    def patch(self, post_id):
        post = Post.query.get_or_404(post_id)

        if 'title' in request.json:
            post.title = request.json['title']
        if 'content' in request.json:
            post.content = request.json['content']

        db.session.commit()
        return post_schema.dump(post)

    def delete(self, post_id):
        post = Post.query.get_or_404(post_id)
        db.session.delete(post)
        db.session.commit()
        return '', 204


api.add_resource(PostListResource, '/posts')
api.add_resource(PostResource, '/post/<int:post_id>')

post_schema = PostSchema()
posts_schema = PostSchema(many=True)
Ejemplo n.º 12
0
class ComicList(Resource):
    def get(self):
        all = Comic.query().order(Comic.number).fetch()
        return make_response(
            render_template("../client/partials/comics/list.html", title="Comics", comics=all, form=ComicCreateForm())
        )

    def post(self):
        form = ComicCreateForm(data=request.get_json())
        if form.validate():
            pass
        else:
            abort(400)
        qry = Comic.query(Comic.number == form.number.data)
        if len(qry.fetch(1)) > 0:
            return make_response(render_template("409.html"))

        comic = Comic()
        comic.number = form.number.data
        comic.title = crawler.findTitle(comic.number)
        image = crawler.findImage(comic.number)
        comic.image = b64encode(image) if image is not None else image
        comic.put()
        return redirect(api.url_for(ComicList), 301)


api.add_resource(ComicDelete, "/comics/delete/<int:id>", endpoint="comic_delete")
api.add_resource(ComicDetail, "/comics/<int:id>", endpoint="comic_detail")
api.add_resource(ComicList, "/comics/list", endpoint="comic_list")
Ejemplo n.º 13
0
def func2(func):
    def inner():
        print ("func2 装饰器")
        func()
    return inner


# @api.resource("/Demo/")
class Demo(Resource):
    method_decorators = {
        "get":[func1,func2],
        "post":[func2]
    }

    def get(self):
        """

        :return:
        """
        return "get请求"
    def post(self):
        """

        :return:
        """
        return "post 请求"

api.add_resource(Demo,"/Demo/")  ##


Ejemplo n.º 14
0
		return make_response(render_template('about/create_gig.html', form=form))

	def post(self):
		key = service.create(request.get_json())
		if key is not None:
			return redirect(api.url_for(About), 301)

class GigDelete(Resource):
	def get(self, id):
		service.delete_by_id(id)
		return redirect(api.url_for(About), 301)

class GigDetail(Resource):
	def get(self, id):
		gig, form = service.get_by_id(id)
		return make_response(render_template('about/detail.html', gig=gig, form=form))

	def post(self, id):
		key = service.update_by_id(id, request.get_json())
		if key is not None:
			return redirect(api.url_for(About), 301)

# public
api.add_resource(About, '/main/about', endpoint='about')

# admin
api.add_resource(GigCreate, '/admin/about/create', endpoint='gig_create')
api.add_resource(GigDetail, '/admin/about/<int:id>', endpoint='gig_detail')
api.add_resource(GigDelete, '/admin/about/delete/<int:id>', endpoint='gig_delete')

Ejemplo n.º 15
0
        if args['name']:
            example.name = args['name']
        else: pass

        if args['type']:
            example.type = args['type']
        else: pass

        example.put()

        return jsonify(example=[example.serialize()])



@app.errorhandler(404)
def page_not_found(env):
    """Return 404 error page"""
    return 'Page not found-ed.', 404


@app.errorhandler(500)
def application_error(e):
    """Return custom 500 error."""
    return 'Application error: {}'.format(e), 500


api.add_resource(Index, '/', endpoint='index')
api.add_resource(ExampleList, '/api/v1/examples/', endpoint='examples')
api.add_resource(ExampleDetail, '/api/v1/examples/<example_id>', endpoint='example_detail')
Ejemplo n.º 16
0

class TodoSimple(Resource):
    def get(self, todo_id):
        return {todo_id: todos[todo_id]}

    def put(self, todo_id):
        todos[todo_id] = request.form['data']
        return {todo_id: todos[todo_id]}


#api.add_resource(TodoSimple, '/do/<int:todo_id>', endpoint='todo_ep')

#api.add_resource(Home, '/home') # Route_1
#api.add_resource(Home, '/home') # Route_1
api.add_resource(Wall, '/wall/<string:id>')  # Route_2
"""
api.add_resource(Employee, '/employee/<string:id>') # Route_1
api.add_resource(StaffList, '/stafflist') # Route_4
api.add_resource(Staff, '/staff') # Route_4
api.add_resource(SubsList, '/subslist') # Route_4
api.add_resource(Subs, '/subs') # Route_4
api.add_resource(ProjectsList, '/projectlist') # Route_2
api.add_resource(Projects, '/projects') # Route_3
api.add_resource(ClientsList, '/clientlist') # Route_4
api.add_resource(Clients, '/clients') # Route_5
api.add_resource(Client, '/client/<string:id>') # Route_5
api.add_resource(ProjectExpenditure, '/spends') # Route_6
api.add_resource(ProjectIncome, '/income') # Route_7
api.add_resource(ProjectInvoice, '/invoice') # Route_8
api.add_resource(ProjectPaybill, '/paybill') # Route_9
Ejemplo n.º 17
0
class EntryBannerInfo(Resource):
    def get(self, year, month, slug):
        entry = service.get_by_slug(Entry, slug)
        view = EntryBannerView(entry).__dict__
        return Response(json.dumps(view), 200, mimetype='application/json')


class EntryList(Resource):
    def get(self):
        entries = service.get_all_entries()
        return get_sorted_entries_response_by_date(entries)


entry = '/entry'
api.add_resource(EntryRUD,
                 admin_blog_root + entry + '/<string:key>',
                 endpoint='entry_rud')
api.add_resource(EntryCL, admin_blog_root + entry, endpoint='entry_cl')

api.add_resource(EntryByCategory,
                 blog_api_root + entry + '/category/<string:category>',
                 endpoint='entry_category')
api.add_resource(EntryByYear,
                 blog_api_root + entry + '/year/<int:year>',
                 endpoint='entry_year')
api.add_resource(EntryByMonth,
                 blog_api_root + entry + '/month/<int:year>/<int:month>',
                 endpoint='entry_month')
api.add_resource(EntryBySlug,
                 blog_api_root + entry +
                 '/slug/<int:year>/<int:month>/<string:slug>',
Ejemplo n.º 18
0
    @staticmethod
    def post(self):
        return handler.post_response_for(request)


class CommentApprove(Resource):
    @staticmethod
    def put(self, key):
        service.approve_comment(key)
        return Response(status=204)


class CommentSpam(Resource):
    @staticmethod
    def put(self, key):
        service.spam_comment(key)
        return Response(status=204)


api.add_resource(CommentRUD,
                 '/blog-api/comment/<string:key>',
                 endpoint='comment_rud')
api.add_resource(CommentCL, '/blog-api/comment', endpoint='comment_cl')

api.add_resource(CommentApprove,
                 '/blog-api/comment/<string:key>',
                 endpoint='comment_approve')
api.add_resource(CommentSpam,
                 '/blog-api/spam/<string:key>',
                 endpoint='comment_spam')
Ejemplo n.º 19
0
# List of routes

from app.resources.article import Index as ArticleIndex, \
          Detail as ArticleDetail, \
          Insert as ArticleInsert
from main import api

api.add_resource(ArticleIndex, '/article/all')
api.add_resource(ArticleInsert, '/article/insert')
api.add_resource(ArticleDetail, '/article/<int:article_id>')
Ejemplo n.º 20
0
from flask import Blueprint, render_template
# from flask_restful import Resource, Api
from main import api

indexgg = Blueprint("gabor",
                    __name__,
                    static_folder=".front/static",
                    template_folder="./front/templates")

# @indexgg.route("/")
# def index():
#     return "Index.. hahaha"
api.add_resource(HelloWorld, '/')
Ejemplo n.º 21
0
__author__ = 'tvancann'


class Contact(Resource):
	def get(self):
		form = ContactForm()
		return make_response(render_template("contact.html", form=form))

	def post(self):
		form = service.send_email(request.get_json())
		if form is None:
			return make_response(render_template("email_send.html"))
		else:
			return make_response(render_template("contact.html", form=form))


class ContactAdmin(Resource):
	def get(self):
		form = ContactForm()
		return make_response(render_template("contact_admin.html", form=form))

	def post(self):
		form = service.send_email(request.get_json())
		if form is None:
			return make_response(render_template("email_send.html"))
		else:
			return make_response(render_template("contact_admin.html", form=form))

api.add_resource(Contact, '/main/contact', endpoint='contact')
api.add_resource(ContactAdmin, '/admin/contact', endpoint='contact_admin')
Ejemplo n.º 22
0
    def __init__(self):
        super(OutputView, self).__init__()


class ScoreListView(BaseListResource):
    model = Score

    def __init__(self):
        super(ScoreListView, self).__init__()

    def post(self):
        pass


class ScoreView(BaseResource):
    model = Score

    def __init__(self):
        super(ScoreView, self).__init__()


api.add_resource(ProductListView, '/product/')
api.add_resource(ProductView, '/product/<int:id>')
api.add_resource(ShoppingListView, '/shopping/')
api.add_resource(ShoppingView, '/shopping/<int:id>')
api.add_resource(OutputListView, '/output/')
api.add_resource(OutputView, '/output/<int:id>')
api.add_resource(ScoreListView, '/score/')
api.add_resource(ScoreView, '/score/<int:id>')
Ejemplo n.º 23
0
class PhotoUploadHandler(Resource, BlobstoreUploadHandler):
	def post(self):
		try:
			f = request.files['file']
			header = f.headers['Content-Type']
			parsed_header = parse_options_header(header)
			blob_key = parsed_header[1]['blob-key']
			service.create_painting(request.get_json(), blob_key)

			return redirect(api.url_for(PaintingListAdmin), 301)

		except():
			return self.redirect('/admin/paintings/failure')


class PaintingFailure(Resource):
	def get(self):
		return make_response(render_template('paintings/failure.html'))

# public
api.add_resource(PaintingList, '/main/paintings', endpoint='paintings')

# admin
api.add_resource(PaintingListAdmin, '/admin/paintings', endpoint='paintings_admin')
api.add_resource(PaintingCreate, '/admin/paintings/create', endpoint='painting_create')
api.add_resource(PaintingFailure, '/admin/paintings/failure', endpoint='painting_failure')
api.add_resource(PaintingDetail, '/admin/paintings/<int:id>', endpoint='painting_detail')
api.add_resource(PaintingDelete, '/admin/paintings/delete/<int:id>', endpoint='painting_delete')
api.add_resource(PhotoUploadHandler, '/admin/upload', endpoint='painting_upload')
Ejemplo n.º 24
0

__author__ = "Stretchhog"


class Root(Resource):
    def get(self):
        return redirect(api.url_for(Home))


class Home(Resource):
    def get(self):
        return make_response(render_template("home.html"))


class Login(Resource):
    def get(self):
        return redirect(users.create_login_url(dest_url="/main/home"))


class Logout(Resource):
    def get(self):
        return redirect(users.create_logout_url(dest_url="/main/home"))


api.add_resource(Root, "/", endpoint="root")
api.add_resource(Home, "/main/home", endpoint="home")

api.add_resource(Login, "/main/login", endpoint="login")
api.add_resource(Logout, "/main/logout", endpoint="logout")
Ejemplo n.º 25
0
	@auth.login_required
	def get(self, category_key):
		return self.response('track/track_activity.html', self.get_form(category_key), category_key)

	@auth.login_required
	def post(self, category_key):
		form = self.get_form(category_key)
		if form.validate_on_submit():
			for changed in set(form.activities.default).symmetric_difference(set(form.activities.data)):
				activity = Key(urlsafe=changed).get()
				if changed in form.activities.data:
					activity.tracked = True
				else:
					activity.tracked = False
				activity.put()
			flash('Update successful', category='success')
			return redirect(api.url_for(Activities, category_key=category_key))
		flash('Update not successful', category='warning')
		return self.response('track/track_activity.html', form, category_key)


class ChooseCategory(Resource):
	@auth.login_required
	def get(self):
		cats, _ = BaseCategory.get_dbs()
		return base_auth_response("track/track_category.html", categories=cats)


api.add_resource(TrackActivity, '/track_activity/<string:category_key>')
api.add_resource(ChooseCategory, '/choose_category')
Ejemplo n.º 26
0
from main import api,app
from Controller.UserApi import UserApi
from Controller.UserListApi import UserListApi
from Controller.ScoreApi import ScoreApi
from Controller.ScoreBoardApi import ScoreBoardApi

api.add_resource(ScoreApi,"/scoreboard/<string:userguid>")
api.add_resource(ScoreBoardApi,"/scoreboard")

api.add_resource(UserApi,"/user/<string:userguid>")
api.add_resource(UserListApi,"/userlist")

if __name__ == '__main__':
    app.run(debug=True)
Ejemplo n.º 27
0
        return make_response(
            render_template("../client/partials/comics/list.html",
                            title="Comics",
                            comics=all,
                            form=ComicCreateForm()))

    def post(self):
        form = ComicCreateForm(data=request.get_json())
        if form.validate():
            pass
        else:
            abort(400)
        qry = Comic.query(Comic.number == form.number.data)
        if len(qry.fetch(1)) > 0:
            return make_response(render_template("409.html"))

        comic = Comic()
        comic.number = form.number.data
        comic.title = crawler.findTitle(comic.number)
        image = crawler.findImage(comic.number)
        comic.image = b64encode(image) if image is not None else image
        comic.put()
        return redirect(api.url_for(ComicList), 301)


api.add_resource(ComicDelete,
                 '/comics/delete/<int:id>',
                 endpoint='comic_delete')
api.add_resource(ComicDetail, '/comics/<int:id>', endpoint='comic_detail')
api.add_resource(ComicList, '/comics/list', endpoint='comic_list')
Ejemplo n.º 28
0
        return handler.post_response_for(request)


class Categories(Resource):
    @staticmethod
    def get():
        categories = service.get_all_categories()
        view = [CategorySummaryView(cat).__dict__ for cat in categories]
        return Response(json.dumps(view), 200, mimetype='application/json')


class CategoryBySlug(Resource):
    def get(self, slug):
        cat = service.get_by_slug(Category, slug)
        return handler.get_response_for(key=cat.key)


api.add_resource(CategoryRUD,
                 admin_blog_root + category + '/<string:key>',
                 endpoint='category_rud')
api.add_resource(CategoryCL,
                 admin_blog_root + category,
                 endpoint='category_cl')

api.add_resource(Categories,
                 blog_api_root + category + '/list',
                 endpoint='category_list')
api.add_resource(CategoryBySlug,
                 blog_api_root + category + '/slug/<string:slug>',
                 endpoint='category_slug')
Ejemplo n.º 29
0

class NewRecord(Resource):
	@auth.login_required
	def get(self, activity_key):
		activity = Key(urlsafe=activity_key).get()
		form = select_form(activity)().new(activity)
		return base_auth_response('records/new_record.html', form=form, activity=activity)

	@auth.login_required
	def post(self, activity_key):
		activity = Key(urlsafe=activity_key).get()
		form = select_form(activity)().new(activity)
		if form.validate_on_submit():
			if activity.category_key.get().name == 'Crossfit':
				entity = CrossfitRecord()
			else:
				entity = BaseRecord()
			form.populate_obj(entity)
			entity.user_key = auth.current_user_key()
			if entity.is_valid_entry(form):
				entity.put()
				flash('Toevoegen succesvol.', category='success')
				return redirect(api.url_for(Activities, category_key=activity.category_key.urlsafe()))
		flash('Toevoegen niet gelukt.', category='warning')
		return base_auth_response('records/new_record.html', activity=activity, form=form)


api.add_resource(Activities, '/activities/<string:category_key>')
api.add_resource(NewRecord, '/activity/record/new/<string:activity_key>')
Ejemplo n.º 30
0

class MusicDetail(Resource):
	def get(self, id):
		music, form = service.get_by_id(id)
		return make_response(render_template('music/detail.html', music=music, form=form))

	def post(self, id):
		key = service.update_by_id(id, request.get_json())
		if key is not None:
			return redirect(api.url_for(MusicList), 301)


class MusicCreate(Resource):
	def get(self):
		form = MusicForm()
		return make_response(render_template('music/create.html', form=form))

	def post(self):
		key = service.create(request.get_json())
		if key is not None:
			return redirect(api.url_for(MusicList), 301)

# public
api.add_resource(MusicList, '/main/music', endpoint='music')

# admin
api.add_resource(MusicCreate, '/admin/music/create', endpoint='music_create')
api.add_resource(MusicDetail, '/admin/music/<int:id>', endpoint='music_detail')
api.add_resource(MusicDelete, '/admin/music/delete/<int:id>', endpoint='music_delete')