codestyle
This commit is contained in:
@@ -29,13 +29,17 @@ class AccountView(BaseView):
|
||||
|
||||
def post_set_language(self):
|
||||
lang_id = int(self.request.POST["language"])
|
||||
self.request.user.userinfo.favourite_language_id = lang_id if lang_id != -1 else None
|
||||
self.request.user.userinfo.favourite_language_id = (
|
||||
lang_id if lang_id != -1 else None
|
||||
)
|
||||
self.request.user.userinfo.save()
|
||||
return "/account"
|
||||
|
||||
def post_notifications(self):
|
||||
for attr in dir(self.request.user.userinfo):
|
||||
if attr.startswith('notification'):
|
||||
setattr(self.request.user.userinfo, attr, attr in self.request.POST.keys())
|
||||
if attr.startswith("notification"):
|
||||
setattr(
|
||||
self.request.user.userinfo, attr, attr in self.request.POST.keys()
|
||||
)
|
||||
self.request.user.userinfo.save()
|
||||
return '/account'
|
||||
return "/account"
|
||||
|
@@ -6,5 +6,8 @@ from SprintLib.utils import get_bytes
|
||||
|
||||
class ImageView(BaseView):
|
||||
endpoint = "image"
|
||||
|
||||
def get(self):
|
||||
return HttpResponse(get_bytes(int(self.request.GET['id'])), content_type="image/jpg")
|
||||
return HttpResponse(
|
||||
get_bytes(int(self.request.GET["id"])), content_type="image/jpg"
|
||||
)
|
||||
|
@@ -8,22 +8,31 @@ from random import randrange
|
||||
|
||||
class SendCodeView(BaseView):
|
||||
endpoint = "send_code"
|
||||
|
||||
def post_create(self):
|
||||
username = self.request.POST["username"]
|
||||
user = User.objects.filter(username=username).first()
|
||||
if not user:
|
||||
return {"success": False, "message": "Пользователя с таким именем не существует"}
|
||||
return {
|
||||
"success": False,
|
||||
"message": "Пользователя с таким именем не существует",
|
||||
}
|
||||
code = randrange(10000, 100000)
|
||||
user.userinfo.code = code
|
||||
user.userinfo.save()
|
||||
bot.send_message(user.userinfo.telegram_chat_id, "Код для входа в сервис: " + str(code))
|
||||
bot.send_message(
|
||||
user.userinfo.telegram_chat_id, "Код для входа в сервис: " + str(code)
|
||||
)
|
||||
return {"success": True, "message": "Код отправлен"}
|
||||
|
||||
def post_check(self):
|
||||
username = self.request.POST["username"]
|
||||
user = User.objects.filter(username=username).first()
|
||||
if not user:
|
||||
return {"success": False, "message": "Пользователя с таким именем не существует"}
|
||||
return {
|
||||
"success": False,
|
||||
"message": "Пользователя с таким именем не существует",
|
||||
}
|
||||
code = int(self.request.POST["code"])
|
||||
if code == user.userinfo.code:
|
||||
user.userinfo.code = None
|
||||
|
@@ -3,5 +3,5 @@ from SprintLib.BaseView import BaseView
|
||||
|
||||
class SetSettingsView(BaseView):
|
||||
required_login = True
|
||||
view_file = 'set_settings.html'
|
||||
endpoint = "admin/set"
|
||||
view_file = "set_settings.html"
|
||||
endpoint = "admin/set"
|
||||
|
@@ -2,7 +2,7 @@ from SprintLib.BaseView import BaseView, AccessError
|
||||
|
||||
|
||||
class SolutionView(BaseView):
|
||||
view_file = 'solution.html'
|
||||
view_file = "solution.html"
|
||||
required_login = True
|
||||
endpoint = "solution"
|
||||
|
||||
|
@@ -6,17 +6,20 @@ from SprintLib.BaseView import BaseView
|
||||
|
||||
|
||||
class SolutionsTableView(BaseView):
|
||||
view_file = 'solutions_table.html'
|
||||
view_file = "solutions_table.html"
|
||||
required_login = True
|
||||
endpoint = "solutions_table"
|
||||
|
||||
def get(self):
|
||||
self.context['solutions'] = Solution.objects.filter(
|
||||
self.context["solutions"] = Solution.objects.filter(
|
||||
user=self.request.user, task=self.entities.task
|
||||
).order_by("-time_sent")
|
||||
if 'render' in self.request.GET.keys():
|
||||
if "render" in self.request.GET.keys():
|
||||
return
|
||||
for sol in self.context['solutions']:
|
||||
if sol.result == CONSTS['testing_status'] or sol.result == CONSTS['in_queue_status']:
|
||||
for sol in self.context["solutions"]:
|
||||
if (
|
||||
sol.result == CONSTS["testing_status"]
|
||||
or sol.result == CONSTS["in_queue_status"]
|
||||
):
|
||||
return
|
||||
return HttpResponse('done')
|
||||
return HttpResponse("done")
|
||||
|
@@ -5,14 +5,14 @@ from SprintLib.BaseView import BaseView
|
||||
|
||||
|
||||
class TaskRuntimeView(BaseView):
|
||||
view_file = 'task_runtime.html'
|
||||
view_file = "task_runtime.html"
|
||||
required_login = True
|
||||
endpoint = "task_runtime"
|
||||
|
||||
def get(self):
|
||||
progress = Progress.objects.get(task=self.entities.task, user=self.request.user)
|
||||
self.context['progress'] = progress
|
||||
if 'render' in self.request.GET.keys():
|
||||
self.context["progress"] = progress
|
||||
if "render" in self.request.GET.keys():
|
||||
return
|
||||
if progress.finished:
|
||||
return HttpResponse('done')
|
||||
return HttpResponse("done")
|
||||
|
@@ -13,47 +13,49 @@ class TaskSettingsView(BaseView):
|
||||
def pre_handle(self):
|
||||
if self.entities.task not in self.request.user.userinfo.available_tasks:
|
||||
raise AccessError()
|
||||
if self.request.method == 'POST':
|
||||
for progress in Progress.objects.filter(task=self.entities.task, finished=False):
|
||||
if self.request.method == "POST":
|
||||
for progress in Progress.objects.filter(
|
||||
task=self.entities.task, finished=False
|
||||
):
|
||||
progress.start_time = timezone.now()
|
||||
progress.save()
|
||||
|
||||
def get(self):
|
||||
self.context['error_message'] = self.request.GET.get('error_message', '')
|
||||
self.context["error_message"] = self.request.GET.get("error_message", "")
|
||||
|
||||
def post(self):
|
||||
for key, value in self.request.POST.items():
|
||||
setattr(self.entities.task, key, value.strip())
|
||||
self.entities.task.public = 'public' in self.request.POST
|
||||
self.entities.task.public = "public" in self.request.POST
|
||||
self.entities.task.save()
|
||||
return f"/admin/task?task_id={self.entities.task.id}"
|
||||
|
||||
def _upload(self, is_test):
|
||||
filename = self.request.FILES['file'].name
|
||||
filename = self.request.FILES["file"].name
|
||||
ef, created = None, None
|
||||
if is_test:
|
||||
name = filename.strip('.a')
|
||||
name = filename.strip(".a")
|
||||
if not name.isnumeric():
|
||||
return f'/admin/task?task_id={self.entities.task.id}&error_message=Формат файла не соответствует тесту'
|
||||
ef, created = ExtraFile.objects.get_or_create(task=self.entities.task, is_test=True, filename=filename)
|
||||
return f"/admin/task?task_id={self.entities.task.id}&error_message=Формат файла не соответствует тесту"
|
||||
ef, created = ExtraFile.objects.get_or_create(
|
||||
task=self.entities.task, is_test=True, filename=filename
|
||||
)
|
||||
if not created:
|
||||
ef.is_sample = False
|
||||
ef.save()
|
||||
return f'/admin/task?task_id={self.entities.task.id}'
|
||||
return f"/admin/task?task_id={self.entities.task.id}"
|
||||
if ef is None or created is None:
|
||||
ef, created = ExtraFile.objects.get_or_create(
|
||||
task=self.entities.task,
|
||||
filename=filename,
|
||||
is_test=is_test
|
||||
task=self.entities.task, filename=filename, is_test=is_test
|
||||
)
|
||||
ef.write(self.request.FILES['file'].read())
|
||||
ef.write(self.request.FILES["file"].read())
|
||||
try:
|
||||
var = ef.text
|
||||
ef.readable = True
|
||||
except UnicodeDecodeError:
|
||||
ef.readable = False
|
||||
ef.save()
|
||||
return '/admin/task?task_id=' + str(self.entities.task.id)
|
||||
return "/admin/task?task_id=" + str(self.entities.task.id)
|
||||
|
||||
def post_file_upload(self):
|
||||
return self._upload(False)
|
||||
@@ -62,21 +64,23 @@ class TaskSettingsView(BaseView):
|
||||
return self._upload(True)
|
||||
|
||||
def post_delete_file(self):
|
||||
ef = ExtraFile.objects.get(id=self.request.POST['id'])
|
||||
ef = ExtraFile.objects.get(id=self.request.POST["id"])
|
||||
ef.delete()
|
||||
return HttpResponse("ok")
|
||||
|
||||
def _create(self, is_test):
|
||||
name = self.request.POST['newfile_name']
|
||||
name = self.request.POST["newfile_name"]
|
||||
|
||||
ef, created = ExtraFile.objects.get_or_create(filename=name, task=self.entities.task)
|
||||
ef, created = ExtraFile.objects.get_or_create(
|
||||
filename=name, task=self.entities.task
|
||||
)
|
||||
if not created:
|
||||
return f'/admin/task?task_id={self.entities.task.id}&error_message=Файл с таким именем уже существует'
|
||||
return f"/admin/task?task_id={self.entities.task.id}&error_message=Файл с таким именем уже существует"
|
||||
ef.write(b"")
|
||||
ef.is_test = is_test
|
||||
ef.readable = True
|
||||
ef.save()
|
||||
return f'/admin/task?task_id={self.entities.task.id}'
|
||||
return f"/admin/task?task_id={self.entities.task.id}"
|
||||
|
||||
def post_create_file(self):
|
||||
return self._create(False)
|
||||
@@ -85,9 +89,9 @@ class TaskSettingsView(BaseView):
|
||||
return self._create(True)
|
||||
|
||||
def post_save_test(self):
|
||||
ef = ExtraFile.objects.get(id=self.request.POST['test_id'])
|
||||
ef = ExtraFile.objects.get(id=self.request.POST["test_id"])
|
||||
ef.remove_from_fs()
|
||||
ef.write(self.request.POST['text'].encode('utf-8'))
|
||||
ef.is_sample = 'is_sample' in self.request.POST.keys()
|
||||
ef.write(self.request.POST["text"].encode("utf-8"))
|
||||
ef.is_sample = "is_sample" in self.request.POST.keys()
|
||||
ef.save()
|
||||
return f'/admin/task?task_id={self.entities.task.id}'
|
||||
return f"/admin/task?task_id={self.entities.task.id}"
|
||||
|
@@ -44,7 +44,7 @@ class TaskView(BaseView):
|
||||
return "task?task_id=" + str(self.entities.task.id)
|
||||
filename = self.request.FILES["file"].name
|
||||
if filename.endswith(".zip"):
|
||||
archive = ZipFile(io.BytesIO(self.request.FILES['file'].read()))
|
||||
archive = ZipFile(io.BytesIO(self.request.FILES["file"].read()))
|
||||
for file in archive.infolist():
|
||||
if file.is_dir():
|
||||
continue
|
||||
@@ -55,7 +55,7 @@ class TaskView(BaseView):
|
||||
fs_id=fs_id,
|
||||
)
|
||||
else:
|
||||
fs_id = write_bytes(self.request.FILES['file'].read())
|
||||
fs_id = write_bytes(self.request.FILES["file"].read())
|
||||
SolutionFile.objects.create(
|
||||
path=filename,
|
||||
solution=self.solution,
|
||||
|
Reference in New Issue
Block a user