本文整理汇总了Python中wouso.core.scoring.models.Coin.get方法的典型用法代码示例。如果您正苦于以下问题:Python Coin.get方法的具体用法?Python Coin.get怎么用?Python Coin.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wouso.core.scoring.models.Coin
的用法示例。
在下文中一共展示了Coin.get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: coin_amount
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def coin_amount(amount, coin=None):
if coin is None:
coin = Coin.get('points')
else:
coin = Coin.get(coin)
if coin is None:
return '%f (not setup)' % amount
return '<div class="coin-amount coin-%s" title="%s">%s</div>' % (coin.name, coin.name, amount)
示例2: coin_amount
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def coin_amount(amount, coin=None):
if coin is None:
coin = Coin.get('points')
else:
coin = Coin.get(coin)
if coin is None:
return '(not setup)'
if isinstance(amount, Player):
amount = amount.coins.get(coin.name, 0)
return '<div class="coin-amount coin-%s" title="%s">%s</div>' % (coin.name, coin.name, amount)
示例3: score_simple
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def score_simple(player, coin, amount, game=None, formula=None,
external_id=None, percents=100):
""" Give amount of coin to the player.
"""
if not isinstance(game, Game) and game is not None:
game = game.get_instance()
if not isinstance(player, Player):
raise InvalidScoreCall()
user = player.user
player = user.get_profile()
user = player.user
coin = Coin.get(coin)
formula = Formula.get(formula)
computed_amount = 1.0 * amount * percents / 100
hs = History.add(user=user, coin=coin, amount=computed_amount,
game=game, formula=formula, external_id=external_id, percents=percents)
# update user.points asap
if coin.name == 'points':
if player.magic.has_modifier('top-disguise'):
computed_amount = 1.0 * computed_amount * player.magic.modifier_percents('top-disguise') / 100
player.points += computed_amount
player.save()
update_points(player, game)
logging.debug("Scored %s with %f %s" % (user, computed_amount, coin))
return hs
示例4: score_simple
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def score_simple(player, coin, amount, game=None, formula=None,
external_id=None, percents=100):
""" Give amount of coin to the player.
"""
if not isinstance(game, Game) and game is not None:
game = game.get_instance()
if not isinstance(player, Player):
raise InvalidScoreCall()
user = player.user
coin = Coin.get(coin)
formula = Formula.get(formula)
computed_amount = 1.0 * amount * percents / 100
hs = History.objects.create(user=user, coin=coin, amount=computed_amount,
game=game, formula=formula, external_id=external_id, percents=percents)
# update user.points asap
if coin.id == 'points':
player.points += computed_amount
player.save()
update_points(player, game)
logging.debug("Scored %s with %f %s" % (user, computed_amount, coin))
return hs
示例5: setup
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def setup():
""" Prepare database for Scoring """
for cc in CORE_POINTS:
if not Coin.get(cc):
Coin.add(cc, name=cc)
# special case, gold is integer
gold = Coin.get('gold')
gold.integer = True
gold.save()
# iterate through games and register formulas
for game in get_games():
for formula in game.get_formulas():
if not Formula.get(formula.id):
Formula.add(formula)
# add wouso formulas
for formula in God.get_system_formulas():
if not Formula.get(formula.id):
Formula.add(formula)
示例6: sync_user
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def sync_user(player):
""" Synchronise user points with database
"""
coin = Coin.get('points')
points = real_points(player)
if player.points != points and not player.magic.has_modifier('top-disguise'):
logging.debug('%s had %d instead of %d points' % (player, player.points, points))
player.points = points
player.level_no = God.get_level_for_points(player.points)
player.save()
示例7: sync_user
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def sync_user(player):
""" Synchronise user points with database
"""
coin = Coin.get("points")
result = History.objects.filter(user=player.user, coin=coin).aggregate(total=models.Sum("amount"))
points = result["total"] if result["total"] is not None else 0
if player.points != points and not player.magic.has_modifier("top-disguise"):
logging.debug("%s had %d instead of %d points" % (player, player.points, points))
player.points = points
player.level_no = God.get_level_for_points(player.points)
player.save()
示例8: sync_user
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def sync_user(player):
""" Synchronise user points with database
"""
coin = Coin.get('points')
result = History.objects.filter(user=player.user,coin=coin).aggregate(total=models.Sum('amount'))
points = result['total'] if result['total'] is not None else 0
if player.points != points:
logging.debug('%s had %d instead of %d points' % (player, player.points, points))
player.points = points
player.level_no = God.get_level_for_points(player.points)
player.save()
示例9: history_for
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def history_for(user, game, external_id=None, formula=None, coin=None):
""" Return all history entries for given (user, game) pair.
"""
# TODO: check usage
fltr = {}
if external_id:
fltr["external_id"] = external_id
if formula:
fltr["formula"] = Formula.get(formula)
if coin:
fltr["coin"] = Coin.get(coin)
if not isinstance(game, Game):
game = game.get_instance()
if not isinstance(user, User):
user = user.user
try:
return History.objects.filter(user=user, game=game, **fltr)
except History.DoesNotExist:
return None
示例10: check_setup
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def check_setup():
""" Check if the module has been setup """
if Coin.get("points") is None:
return False
return True
示例11: real_points
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def real_points(player):
coin = Coin.get("points")
result = History.objects.filter(user=player.user, coin=coin).aggregate(total=models.Sum("amount"))
return result["total"] if result["total"] is not None else 0
示例12: real_points
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def real_points(player):
coin = Coin.get('points')
result = History.objects.filter(user=player.user,coin=coin).aggregate(total=models.Sum('amount'))
return result['total'] if result['total'] is not None else 0
示例13: penalise
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def penalise(cls, player, formula, external_id=None):
coins = Coin.get('penalty')
if not coins is None:
score(user=player, game=None, formula=formula, external_id=external_id)
示例14: penalise
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def penalise(cls, player, formula):
coins = Coin.get('penalty')
from wouso.core.scoring import score
if not coins is None:
score(user=player, game=None, formula=formula)
示例15: test_setup
# 需要导入模块: from wouso.core.scoring.models import Coin [as 别名]
# 或者: from wouso.core.scoring.models.Coin import get [as 别名]
def test_setup(self):
for c in CORE_POINTS:
self.assertFalse(Coin.get(c))
setup_scoring()
for c in CORE_POINTS:
self.assertTrue(Coin.get(c))