Reformat using black
This commit is contained in:
parent
efee4ad081
commit
a87fb49918
221 changed files with 19127 additions and 7310 deletions
|
@ -13,17 +13,17 @@ from judge.models import Contest, Problem, Profile
|
|||
from judge.ratings import rating_class, rating_progress
|
||||
from . import registry
|
||||
|
||||
rereference = re.compile(r'\[(r?user):(\w+)\]')
|
||||
rereference = re.compile(r"\[(r?user):(\w+)\]")
|
||||
|
||||
|
||||
def get_user(username, data):
|
||||
if not data:
|
||||
element = Element('span')
|
||||
element = Element("span")
|
||||
element.text = username
|
||||
return element
|
||||
|
||||
element = Element('span', {'class': Profile.get_user_css_class(*data)})
|
||||
link = Element('a', {'href': reverse('user_page', args=[username])})
|
||||
element = Element("span", {"class": Profile.get_user_css_class(*data)})
|
||||
link = Element("a", {"href": reverse("user_page", args=[username])})
|
||||
link.text = username
|
||||
element.append(link)
|
||||
return element
|
||||
|
@ -31,17 +31,21 @@ def get_user(username, data):
|
|||
|
||||
def get_user_rating(username, data):
|
||||
if not data:
|
||||
element = Element('span')
|
||||
element = Element("span")
|
||||
element.text = username
|
||||
return element
|
||||
|
||||
rating = data[1]
|
||||
element = Element('a', {'class': 'rate-group', 'href': reverse('user_page', args=[username])})
|
||||
element = Element(
|
||||
"a", {"class": "rate-group", "href": reverse("user_page", args=[username])}
|
||||
)
|
||||
if rating:
|
||||
rating_css = rating_class(rating)
|
||||
rate_box = Element('span', {'class': 'rate-box ' + rating_css})
|
||||
rate_box.append(Element('span', {'style': 'height: %3.fem' % rating_progress(rating)}))
|
||||
user = Element('span', {'class': 'rating ' + rating_css})
|
||||
rate_box = Element("span", {"class": "rate-box " + rating_css})
|
||||
rate_box.append(
|
||||
Element("span", {"style": "height: %3.fem" % rating_progress(rating)})
|
||||
)
|
||||
user = Element("span", {"class": "rating " + rating_css})
|
||||
user.text = username
|
||||
element.append(rate_box)
|
||||
element.append(user)
|
||||
|
@ -51,21 +55,24 @@ def get_user_rating(username, data):
|
|||
|
||||
|
||||
def get_user_info(usernames):
|
||||
return {name: (rank, rating) for name, rank, rating in
|
||||
Profile.objects.filter(user__username__in=usernames)
|
||||
.values_list('user__username', 'display_rank', 'rating')}
|
||||
return {
|
||||
name: (rank, rating)
|
||||
for name, rank, rating in Profile.objects.filter(
|
||||
user__username__in=usernames
|
||||
).values_list("user__username", "display_rank", "rating")
|
||||
}
|
||||
|
||||
|
||||
def get_user_from_text(text):
|
||||
user_list = set()
|
||||
for i in rereference.finditer(text):
|
||||
user_list.add(text[i.start() + 6: i.end() - 1])
|
||||
user_list.add(text[i.start() + 6 : i.end() - 1])
|
||||
return Profile.objects.filter(user__username__in=user_list)
|
||||
|
||||
|
||||
reference_map = {
|
||||
'user': (get_user, get_user_info),
|
||||
'ruser': (get_user_rating, get_user_info),
|
||||
"user": (get_user, get_user_info),
|
||||
"ruser": (get_user_rating, get_user_info),
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,9 +84,9 @@ def process_reference(text):
|
|||
elements = []
|
||||
for piece in rereference.finditer(text):
|
||||
if prev is None:
|
||||
tail = text[last:piece.start()]
|
||||
tail = text[last : piece.start()]
|
||||
else:
|
||||
prev.append(text[last:piece.start()])
|
||||
prev.append(text[last : piece.start()])
|
||||
prev = list(piece.groups())
|
||||
elements.append(prev)
|
||||
last = piece.end()
|
||||
|
@ -143,52 +150,52 @@ def item_title(item):
|
|||
return item.name
|
||||
elif isinstance(item, Contest):
|
||||
return item.name
|
||||
return '<Unknown>'
|
||||
return "<Unknown>"
|
||||
|
||||
|
||||
@registry.function
|
||||
@registry.render_with('user/link.html')
|
||||
@registry.render_with("user/link.html")
|
||||
def link_user(user):
|
||||
if isinstance(user, Profile):
|
||||
user, profile = user.user, user
|
||||
elif isinstance(user, AbstractUser):
|
||||
profile = user.profile
|
||||
elif type(user).__name__ == 'ContestRankingProfile':
|
||||
elif type(user).__name__ == "ContestRankingProfile":
|
||||
user, profile = user.user, user
|
||||
else:
|
||||
raise ValueError('Expected profile or user, got %s' % (type(user),))
|
||||
return {'user': user, 'profile': profile}
|
||||
raise ValueError("Expected profile or user, got %s" % (type(user),))
|
||||
return {"user": user, "profile": profile}
|
||||
|
||||
|
||||
@registry.function
|
||||
@registry.render_with('user/link-list.html')
|
||||
@registry.render_with("user/link-list.html")
|
||||
def link_users(users):
|
||||
return {'users': users}
|
||||
return {"users": users}
|
||||
|
||||
|
||||
@registry.function
|
||||
@registry.render_with('runtime-version-fragment.html')
|
||||
@registry.render_with("runtime-version-fragment.html")
|
||||
def runtime_versions(versions):
|
||||
return {'runtime_versions': versions}
|
||||
return {"runtime_versions": versions}
|
||||
|
||||
|
||||
@registry.filter(name='absolutify')
|
||||
@registry.filter(name="absolutify")
|
||||
def absolute_links(text, url):
|
||||
tree = lxml_tree.fromstring(text)
|
||||
for anchor in tree.xpath('.//a'):
|
||||
href = anchor.get('href')
|
||||
for anchor in tree.xpath(".//a"):
|
||||
href = anchor.get("href")
|
||||
if href:
|
||||
anchor.set('href', urljoin(url, href))
|
||||
anchor.set("href", urljoin(url, href))
|
||||
return tree
|
||||
|
||||
|
||||
@registry.function(name='urljoin')
|
||||
@registry.function(name="urljoin")
|
||||
def join(first, second, *rest):
|
||||
if not rest:
|
||||
return urljoin(first, second)
|
||||
return urljoin(urljoin(first, second), *rest)
|
||||
|
||||
|
||||
@registry.filter(name='ansi2html')
|
||||
@registry.filter(name="ansi2html")
|
||||
def ansi2html(s):
|
||||
return mark_safe(Ansi2HTMLConverter(inline=True).convert(s, full=False))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue