From 35669220efd079f1f534270c6e4d08ac3e91b2cc Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Mon, 13 May 2013 19:31:55 -0700 Subject: [PATCH] API docs fixes (make route param name styling consistent). --- r2/r2/config/routing.py | 12 ++++++------ r2/r2/controllers/multi.py | 26 +++++++++++++------------- r2/r2/controllers/reddit_base.py | 5 +++-- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/r2/r2/config/routing.py b/r2/r2/config/routing.py index 0b5d763f6..9e61ab242 100644 --- a/r2/r2/config/routing.py +++ b/r2/r2/config/routing.py @@ -115,10 +115,10 @@ def make_map(): mc('/user/:username/:where', controller='user', action='listing', where='overview') - mc('/user/:username/m/:multi', controller='hot', action='listing') - mc('/user/:username/m/:multi/:sort', controller='browse', sort='top', + mc('/user/:username/m/:multipath', controller='hot', action='listing') + mc('/user/:username/m/:multipath/:sort', controller='browse', sort='top', action='listing', requirements=dict(sort='top|controversial')) - mc('/user/:username/m/:multi/:controller', action='listing', + mc('/user/:username/m/:multipath/:controller', action='listing', requirements=dict(controller="hot|new|rising|randomrising")) mc('/about/sidebar', controller='front', action='sidebar') @@ -126,7 +126,7 @@ def make_map(): mc('/about', controller='front', action='about') mc('/comments/gilded', controller='redirect', action='gilded_comments', conditions={'function': not_in_sr}) - for prefix in ('', '/user/:username/m/:multi'): + for prefix in ('', '/user/:username/m/:multipath'): mc(prefix + '/about/message/:where', controller='message', action='listing') mc(prefix + '/about/log', controller='front', action='moderationlog') @@ -321,8 +321,8 @@ def make_map(): mc('/api/:action', controller='api') mc("/api/multi/mine", controller="multiapi", action="my_multis") - mc("/api/multi/*path/r/:sr_name", controller="multiapi", action="multi_subreddit") - mc("/api/multi/*path", controller="multiapi", action="multi") + mc("/api/multi/*multipath/r/:srname", controller="multiapi", action="multi_subreddit") + mc("/api/multi/*multipath", controller="multiapi", action="multi") mc("/api/v1/:action", controller="oauth2frontend", requirements=dict(action="authorize")) diff --git a/r2/r2/controllers/multi.py b/r2/r2/controllers/multi.py index c9fafcbc2..22daba0d4 100644 --- a/r2/r2/controllers/multi.py +++ b/r2/r2/controllers/multi.py @@ -83,7 +83,7 @@ class MultiApiController(RedditController, OAuth2ResourceController): api_section.multis, uri="/api/multi/{multipath}", ) - @validate(multi=VMultiByPath("path", require_view=True)) + @validate(multi=VMultiByPath("multipath", require_view=True)) def GET_multi(self, multi): """Fetch a multi's data and subreddit list by name.""" resp = wrap_things(multi)[0].render() @@ -94,13 +94,13 @@ class MultiApiController(RedditController, OAuth2ResourceController): @validate( VUser(), VModhash(), - info=VMultiPath("path"), + info=VMultiPath("multipath"), data=VJSON("model"), ) def PUT_multi(self, info, data): """Create or update a multi.""" if info['username'].lower() != c.user.name.lower(): - raise RedditError('BAD_MULTI_NAME', code=400, fields="path") + raise RedditError('BAD_MULTI_NAME', code=400, fields="multipath") try: multi = LabeledMulti._byID(info['path']) @@ -132,14 +132,14 @@ class MultiApiController(RedditController, OAuth2ResourceController): multi._commit() - return self.GET_multi(path=info['path']) + return self.GET_multi(multipath=info['path']) @require_oauth2_scope("subscribe") @api_doc(api_section.multis, extends=GET_multi) @validate( VUser(), VModhash(), - multi=VMultiByPath("path", require_edit=True), + multi=VMultiByPath("multipath", require_edit=True), ) def DELETE_multi(self, multi): """Delete a multi.""" @@ -149,15 +149,15 @@ class MultiApiController(RedditController, OAuth2ResourceController): resp = LabeledMultiJsonTemplate.sr_props(multi, [sr])[0] return self.api_wrapper(resp) - @require_oauth2_scope("subscribe") + @require_oauth2_scope("read") @api_doc( api_section.multis, uri="/api/multi/{multipath}/r/{srname}", ) @validate( VUser(), - multi=VMultiByPath("path", require_view=True), - sr=VSRByName('sr_name'), + multi=VMultiByPath("multipath", require_view=True), + sr=VSRByName('srname'), ) def GET_multi_subreddit(self, multi, sr): """Get data about a subreddit in a multi.""" @@ -168,8 +168,8 @@ class MultiApiController(RedditController, OAuth2ResourceController): @validate( VUser(), VModhash(), - multi=VMultiByPath("path", require_edit=True), - sr=VSRByName('sr_name'), + multi=VMultiByPath("multipath", require_edit=True), + sr=VSRByName('srname'), ) def PUT_multi_subreddit(self, multi, sr): """Add a subreddit to a multi.""" @@ -184,12 +184,12 @@ class MultiApiController(RedditController, OAuth2ResourceController): return self._get_multi_subreddit(multi, sr) @require_oauth2_scope("subscribe") - @api_doc(api_section.multis, extends=PUT_multi_subreddit) + @api_doc(api_section.multis, extends=GET_multi_subreddit) @validate( VUser(), VModhash(), - multi=VMultiByPath("path", require_edit=True), - sr=VSRByName('sr_name'), + multi=VMultiByPath("multipath", require_edit=True), + sr=VSRByName('srname'), ) def DELETE_multi_subreddit(self, multi, sr): """Remove a subreddit from a multi.""" diff --git a/r2/r2/controllers/reddit_base.py b/r2/r2/controllers/reddit_base.py index 57c4feaa3..74ef4b0a4 100644 --- a/r2/r2/controllers/reddit_base.py +++ b/r2/r2/controllers/reddit_base.py @@ -389,9 +389,10 @@ def set_subreddit(): abort(404) routes_dict = request.environ["pylons.routes_dict"] - if "multi" in routes_dict and "username" in routes_dict: + if "multipath" in routes_dict and "username" in routes_dict: try: - path = '/user/%s/m/%s' % (routes_dict["username"], routes_dict["multi"]) + path = '/user/%s/m/%s' % (routes_dict["username"], + routes_dict["multipath"]) c.site = LabeledMulti._byID(path) except tdb_cassandra.NotFound: abort(404)