API docs fixes (make route param name styling consistent).

This commit is contained in:
Max Goodman
2013-05-13 19:31:55 -07:00
parent c0e03687d5
commit 35669220ef
3 changed files with 22 additions and 21 deletions

View File

@@ -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"))

View File

@@ -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."""

View File

@@ -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)