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