本文整理汇总了Python中MaKaC.user.AvatarHolder.getRelatedCategories方法的典型用法代码示例。如果您正苦于以下问题:Python AvatarHolder.getRelatedCategories方法的具体用法?Python AvatarHolder.getRelatedCategories怎么用?Python AvatarHolder.getRelatedCategories使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaKaC.user.AvatarHolder
的用法示例。
在下文中一共展示了AvatarHolder.getRelatedCategories方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: UserEventHook
# 需要导入模块: from MaKaC.user import AvatarHolder [as 别名]
# 或者: from MaKaC.user.AvatarHolder import getRelatedCategories [as 别名]
class UserEventHook(HTTPAPIHook):
TYPES = ('user',)
RE = r'(?P<what>linked_events|categ_events)'
DEFAULT_DETAIL = 'basic_events'
GUEST_ALLOWED = False
def _getParams(self):
super(UserEventHook, self)._getParams()
self._what = self._pathParams['what']
self._avatar = None
# User-specified avatar
userId = get_query_parameter(self._queryParams, ['uid', 'userid'])
if userId is not None:
self._avatar = AvatarHolder().getById(userId)
if not self._avatar:
raise HTTPAPIError('Avatar does not exist')
def _getMethodName(self):
return self.PREFIX + '_' + self._what
def _checkProtection(self, aw):
if not self._avatar:
# No avatar specified => use self. No need to check any permissinos.
self._avatar = aw.getUser()
return
elif not self._avatar.canUserModify(aw.getUser()):
raise HTTPAPIError('Access denied', 403)
def export_linked_events(self, aw):
if not redis_client:
raise HTTPAPIError('This API is only available when using Redis')
self._checkProtection(aw)
links = avatar_links.get_links(self._avatar, self._fromDT, self._toDT)
return UserRelatedEventFetcher(aw, self, links).events(links.keys())
def export_categ_events(self, aw):
self._checkProtection(aw)
catIds = [item['categ'].getId() for item in self._avatar.getRelatedCategories().itervalues()]
return UserCategoryEventFetcher(aw, self).category_events(catIds)