diff options
author | Cédric Bonhomme <cedric@cedricbonhomme.org> | 2016-04-14 00:02:47 +0200 |
---|---|---|
committer | Cédric Bonhomme <cedric@cedricbonhomme.org> | 2016-04-14 00:02:47 +0200 |
commit | b4b175e0a8bb3844c1c6f846c1b4eb1970520864 (patch) | |
tree | 1cc59a636e2c4dffdb86bc2daaeee6f14a28eefa /src/web/views/api/article.py | |
parent | updated some JS dependencies. (diff) | |
download | newspipe-b4b175e0a8bb3844c1c6f846c1b4eb1970520864.tar.gz newspipe-b4b175e0a8bb3844c1c6f846c1b4eb1970520864.tar.bz2 newspipe-b4b175e0a8bb3844c1c6f846c1b4eb1970520864.zip |
testing a new API
Diffstat (limited to 'src/web/views/api/article.py')
-rw-r--r-- | src/web/views/api/article.py | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/web/views/api/article.py b/src/web/views/api/article.py deleted file mode 100644 index 5971f47d..00000000 --- a/src/web/views/api/article.py +++ /dev/null @@ -1,53 +0,0 @@ -from conf import API_ROOT -import dateutil.parser -from datetime import datetime -from flask import current_app -from flask.ext.restful import Api - -from web.views.common import api_permission -from web.controllers import ArticleController -from web.views.api.common import (PyAggAbstractResource, - PyAggResourceNew, PyAggResourceExisting, PyAggResourceMulti) - - -class ArticleNewAPI(PyAggResourceNew): - controller_cls = ArticleController - - -class ArticleAPI(PyAggResourceExisting): - controller_cls = ArticleController - - -class ArticlesAPI(PyAggResourceMulti): - controller_cls = ArticleController - - -class ArticlesChallenge(PyAggAbstractResource): - controller_cls = ArticleController - attrs = {'ids': {'type': list, 'default': []}} - - @api_permission.require(http_exception=403) - def get(self): - parsed_args = self.reqparse_args(right='read') - # collecting all attrs for casting purpose - attrs = self.controller_cls._get_attrs_desc('admin') - for id_dict in parsed_args['ids']: - keys_to_ignore = [] - for key in id_dict: - if key not in attrs: - keys_to_ignore.append(key) - if issubclass(attrs[key]['type'], datetime): - id_dict[key] = dateutil.parser.parse(id_dict[key]) - for key in keys_to_ignore: - del id_dict[key] - - result = list(self.controller.challenge(parsed_args['ids'])) - return result or None, 200 if result else 204 - -api = Api(current_app, prefix=API_ROOT) - -api.add_resource(ArticleNewAPI, '/article', endpoint='article_new.json') -api.add_resource(ArticleAPI, '/article/<int:obj_id>', endpoint='article.json') -api.add_resource(ArticlesAPI, '/articles', endpoint='articles.json') -api.add_resource(ArticlesChallenge, '/articles/challenge', - endpoint='articles_challenge.json') |