From 7a7f1b9311c91d3fab6cd052b470ddbf569b1cbe Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Thu, 2 May 2013 19:45:58 -0700 Subject: [PATCH] Accept subreddit objects in multi add_srs/del_srs. --- r2/r2/controllers/multi.py | 4 ++-- r2/r2/models/subreddit.py | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/r2/r2/controllers/multi.py b/r2/r2/controllers/multi.py index 07949feee..e48fa057b 100644 --- a/r2/r2/controllers/multi.py +++ b/r2/r2/controllers/multi.py @@ -140,7 +140,7 @@ class MultiApiController(RedditController, OAuth2ResourceController): """Add a subreddit to a multi.""" try: - multi.add_srs({sr._id: {}}) + multi.add_srs({sr: {}}) except TooManySubredditsException as e: raise RedditError('MULTI_TOO_MANY_SUBREDDITS', code=409) else: @@ -156,5 +156,5 @@ class MultiApiController(RedditController, OAuth2ResourceController): ) def DELETE_multi_subreddit(self, multi, sr): """Remove a subreddit from a multi.""" - multi.del_srs(sr._id) + multi.del_srs(sr) multi._commit() diff --git a/r2/r2/models/subreddit.py b/r2/r2/models/subreddit.py index a87bba2eb..a012def52 100644 --- a/r2/r2/models/subreddit.py +++ b/r2/r2/models/subreddit.py @@ -1416,9 +1416,12 @@ class LabeledMulti(tdb_cassandra.Thing, MultiReddit): @classmethod def sr_props_to_columns(cls, sr_props): - sr_columns = {cls.SR_PREFIX + str(sr_id): json.dumps(props) - for sr_id, props in sr_props.iteritems()} - return sr_columns + columns = {} + for sr_id, props in sr_props.iteritems(): + if isinstance(sr_id, Subreddit): + sr_id = sr_id._id + columns[cls.SR_PREFIX + str(sr_id)] = json.dumps(props) + return columns @classmethod def columns_to_sr_props(cls, columns):