Cloned DMOJ
This commit is contained in:
parent
f623974b58
commit
49dc9ff10c
513 changed files with 132349 additions and 39 deletions
35
judge/jinja2/rating.py
Normal file
35
judge/jinja2/rating.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
from django.utils import six
|
||||
|
||||
from judge.ratings import rating_class, rating_name, rating_progress
|
||||
from . import registry
|
||||
|
||||
|
||||
def _get_rating_value(func, obj):
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if isinstance(obj, six.integer_types):
|
||||
return func(obj)
|
||||
else:
|
||||
return func(obj.rating)
|
||||
|
||||
|
||||
@registry.function('rating_class')
|
||||
def get_rating_class(obj):
|
||||
return _get_rating_value(rating_class, obj) or 'rate-none'
|
||||
|
||||
|
||||
@registry.function(name='rating_name')
|
||||
def get_name(obj):
|
||||
return _get_rating_value(rating_name, obj) or 'Unrated'
|
||||
|
||||
|
||||
@registry.function(name='rating_progress')
|
||||
def get_progress(obj):
|
||||
return _get_rating_value(rating_progress, obj) or 0.0
|
||||
|
||||
|
||||
@registry.function
|
||||
@registry.render_with('user/rating.html')
|
||||
def rating_number(obj):
|
||||
return {'rating': obj}
|
Loading…
Add table
Add a link
Reference in a new issue