本文整理汇总了Python中wouso.core.game.get_games函数的典型用法代码示例。如果您正苦于以下问题:Python get_games函数的具体用法?Python get_games怎么用?Python get_games使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_games函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: header_footer
def header_footer(request):
""" Generate header and footer bar contents.
"""
try:
reverse('homepage')
except NoReverseMatch:
return {}
#TODO ordering, using config
header = []
try:
for game in get_games():
h = game.get_header_link(request)
if h:
header.append((h, game.get_instance().name))
except Exception as e:
logging.exception(e)
# add also messages and magic link
try:
h = Message.get_header_link(request)
if h:
header.append((h, 'Message'))
h = Bazaar.get_header_link(request)
if h:
header.append((h, 'Magic'))
h = Chat.get_header_link(request)
if h:
header.append((h, 'Chat'))
except Exception as e:
logging.exception(e)
footer = []
try:
for game in get_games():
f = game.get_footer_link(request)
if f:
footer.append(f)
except: pass
# also add static pages
footer.extend(get_static_pages())
for a in get_apps():
f = a.get_footer_link(request)
if f:
footer.append(a.get_footer_link(request))
# format header
hids = lambda p: '<span id="head-%s"><a href="%s">%s</a>%s</span>' % (p[1].lower(), \
p[0]['link'], p[0]['text'], \
'<sup class="unread-count">%d</sup>' % p[0]['count'] if p[0].get('count', False) else '')
header_html = " ".join(map(hids, header))
footer = " | ".join(footer)
return {'header': header_html, 'heads': header, 'footer': footer}
示例2: setup_staff_groups
def setup_staff_groups():
for g in get_games():
for group in g.get_staff_and_permissions():
group_obj = Group.objects.get_or_create(name=group['name'])[0]
for p in group.get('permissions', []):
perm_obj = Permission.objects.get(codename=p)
group_obj.permissions.add(perm_obj)
示例3: sidebar
def sidebar(request):
""" For each registered game, get a widget to be displayed in sidebar
@remark This design needs to be analysed.
@todo ordering, using config
Returns a 'sidebar' list containing html boxes.
"""
sidebar = []
try:
# Request blocks from games
for game in get_games():
w = game.get_sidebar_widget(request)
if w:
sidebar.append(w)
# Request blocks from apps
for app in (Top,):
w = app.get_sidebar_widget(request)
if w:
sidebar.append(w)
except Exception as e:
logging.error(e)
# This is a hack for fixing test. TODO: actually fix ./manage.py test
return {'sidebar': sidebar}
示例4: sidebar
def sidebar(request):
""" For each registered game, get a widget to be displayed in sidebar
@remark This design needs to be analysed.
@todo ordering, using config
Returns a 'sidebar' list containing html boxes.
"""
sidebar = []
# Request blocks from games
for game in get_games():
try:
w = game.get_sidebar_widget(request)
if w:
sidebar.append(w)
except Exception as e:
logging.exception(e)
# Request blocks from apps
for app in get_apps():
try:
w = app.get_sidebar_widget(request)
if w:
sidebar.append(w)
except Exception as e:
print e
logging.exception(e)
return {'sidebar': sidebar}
示例5: header_generator
def header_generator():
for game in get_games():
h = game.get_header_link(request)
if h:
yield h, game.get_instance().verbose_name
for game in [Message, Bazaar, Chat]:
h = game.get_header_link(request)
if h:
yield h, game.__name__
示例6: sidebar_generator
def sidebar_generator():
for game in get_games() + list(get_apps()):
try:
w = game.get_sidebar_widget(request)
except Exception as e:
logging.exception(e)
w = None
if w:
yield w
示例7: games
def games(request):
""" List of games """
wgs = []
for model in get_games():
wgs.append({'link': model._meta.app_label,
'name': model._meta.verbose_name})
return render_to_response('interface/games.html',
{'games': wgs},
context_instance=RequestContext(request))
示例8: _user_points
def _user_points(user):
""" :return: a list of (game, points) - distribution of points per source """
points = {}
for game in get_games() + [None]:
pp = History.user_points_from_game(user=user, game=game, zeros=False)
if pp:
if game:
points[game.get_instance().verbose_name] = pp
else:
points['wouso'] = pp
return points
示例9: footer_generator
def footer_generator():
for game in get_games():
f = game.get_footer_link(request)
if f:
yield f
for s in get_static_pages():
yield s
for a in get_apps():
f = a.get_footer_link(request)
if f:
yield f
示例10: get_all_modifiers
def get_all_modifiers(self):
""" Fetch modifiers from games and also add system specific ones
"""
ms = ['dispell', # cancel all spells
'cure', # delete all negative spells
'curse', # prevent cast of positive spells, or cure and dispell
'immunity', # prevent cast of any spells, or cure and dispell
'steal', # allow users to steal points, one from another
]
for g in get_games():
ms.extend(g.get_modifiers())
return ms
示例11: user_profile
def user_profile(request, id, page=u'1'):
try:
profile = Player.objects.get(id=id)
except Player.DoesNotExist:
raise Http404
# TODO: parca exista o functie in core pentru gravatar
avatar = "http://www.gravatar.com/avatar/%s.jpg?d=monsterid"\
% md5(profile.user.email).hexdigest()
activity_list = Activity.get_player_activity(profile)
top_user = profile.get_extension(TopUser)
#top_user.topgroups = list(profile.groups.all())
#for g in top_user.topgroups:
# g.week_evolution = top_user.week_evolution(relative_to=g)
# g.position = TopHistory.get_user_position(top_user, relative_to=g)
history = History.user_points(profile)
paginator = Paginator(activity_list, 10)
try:
activity = paginator.page(page)
except (EmptyPage, InvalidPage):
activity = paginator.page(paginator.num_pages)
profile_actions = ''
profile_superuser_actions = ''
for g in get_games():
profile_actions += g.get_profile_actions(request, profile)
profile_superuser_actions += g.get_profile_superuser_actions(request, profile)
# some hackish introspection
if hasattr(g, 'user_model'):
model = getattr(g, 'user_model')
setattr(profile, model.__name__.lower(), profile.get_extension(model))
#Fix to show succes message from report user form
if 'report_msg' in request.session:
message = request.session['report_msg']
del request.session['report_msg']
else:
message=''
return render_to_response('profile/profile.html',
{'profile': profile,
'avatar': avatar,
'activity': activity,
'top': top_user,
'scoring': history,
'profile_actions': profile_actions,
'profile_superuser_actions': profile_superuser_actions,
'message': message, },
context_instance=RequestContext(request))
示例12: get_cpanel_games
def get_cpanel_games():
"""
Returns a dict of games having a cpanel page:
gs({'games/specialquest':'Special Quest'})
"""
gs = {}
for game in get_games():
game = game.__name__.replace('Game', '')
if has_cpanel_url(game.lower()):
url = 'games/' + game.lower()
# Add space before capital letters (e.g. Special Quest)
gs[url] = re.sub(r"(\w)([A-Z])", r"\1 \2", game)
return gs
示例13: read
def read(self, request, type):
notifs = {}
for app in get_apps():
notifs[app.name()] = app.get_unread_count(request)
for game in get_games():
notifs[game.name()] = game.get_unread_count(request)
all = sum(notifs.values())
if type == 'all':
return {'count': all, 'type': type, 'types': notifs.keys()}
elif type in notifs.keys():
return {'count': notifs[type], 'type': type}
else:
return rc.BAD_REQUEST
示例14: user_points
def user_points(user):
""" :return: a list of (game, points) - distribution of points per source """
points = {}
coins = History.user_coins(user)
for game in get_games():
pp = {}
hs = History.objects.filter(user=user, game=game.get_instance())
for h in hs:
if h.coin in pp.keys():
pp[h.coin] += h.amount
else:
pp[h.coin] = h.amount
if pp.keys():
points[game.get_instance().verbose_name] = pp
# TODO: also get points without a game origin
return points
示例15: user_profile
def user_profile(request, id, page=u'1'):
if int(id) == request.user.get_profile().id:
profile = request.user.get_profile()
else:
profile = get_object_or_404(Player, id=id)
activity_list = Activity.get_player_activity(profile)
top_user = profile.get_extension(TopUser)
#top_user.topgroups = list(profile.groups.all())
#for g in top_user.topgroups:
# g.week_evolution = top_user.week_evolution(relative_to=g)
# g.position = TopHistory.get_user_position(top_user, relative_to=g)
history = History.user_points(profile)
paginator = Paginator(activity_list, 10)
try:
activity = paginator.page(page)
except (EmptyPage, InvalidPage):
activity = paginator.page(paginator.num_pages)
profile_actions = ''
profile_superuser_actions = ''
for g in get_games():
profile_actions += g.get_profile_actions(request, profile)
profile_superuser_actions += g.get_profile_superuser_actions(request, profile)
# some hackish introspection
if hasattr(g, 'user_model'):
model = getattr(g, 'user_model')
setattr(profile, model.__name__.lower(), profile.get_extension(model))
#Fix to show succes message from report user form
if 'report_msg' in request.session:
message = request.session['report_msg']
del request.session['report_msg']
else:
message=''
return render_to_response('profile/profile.html',
{'profile': profile,
'activity': activity,
'top': top_user,
'scoring': history,
'profile_actions': profile_actions,
'profile_superuser_actions': profile_superuser_actions,
'message': message, },
context_instance=RequestContext(request))