Skip to content
Snippets Groups Projects
Commit 3885f59d authored by Samuel GAIST's avatar Samuel GAIST
Browse files

[algorithm][views] Use declaration_string for declaration retrieval

This property already provides the declaration in a
suitable form.
parent 4f6ed87c
No related branches found
No related tags found
2 merge requests!2551.4.x,!249Web fixes
...@@ -35,6 +35,7 @@ from django.contrib.auth.models import User ...@@ -35,6 +35,7 @@ from django.contrib.auth.models import User
from .models import Algorithm from .models import Algorithm
from ..team.models import Team from ..team.models import Team
from ..common.texts import Messages from ..common.texts import Messages
from ..common.utils import ensure_string
from ..ui.templatetags.markup import restructuredtext from ..ui.templatetags.markup import restructuredtext
from beat.core import prototypes from beat.core import prototypes
...@@ -72,10 +73,10 @@ def create(request, name=None): ...@@ -72,10 +73,10 @@ def create(request, name=None):
previous_version = previous_versions[0] previous_version = previous_versions[0]
description = previous_version.description description = ensure_string(previous_version.description)
parameters['algorithm_version'] = previous_version.version + 1 parameters['algorithm_version'] = previous_version.version + 1
parameters['declaration'] = previous_version.declaration_file.read().replace('\n', '') parameters['declaration'] = previous_version.declaration_string.replace('\n', '')
parameters['short_description'] = previous_version.short_description parameters['short_description'] = previous_version.short_description
parameters['description'] = description.replace('\n', '\\n') parameters['description'] = description.replace('\n', '\\n')
parameters['html_description'] = restructuredtext(description).replace('\n', '') parameters['html_description'] = restructuredtext(description).replace('\n', '')
...@@ -87,7 +88,7 @@ def create(request, name=None): ...@@ -87,7 +88,7 @@ def create(request, name=None):
if not previous_version.is_binary(): if not previous_version.is_binary():
parameters['source_code'] = previous_version.source_code_file.read() parameters['source_code'] = previous_version.source_code_file.read()
else: else:
parameters['source_code'] = prototypes.binary_load('algorithm.py') \ parameters['source_code'] = ensure_string(prototypes.binary_load('algorithm.py')) \
.replace('\n\n # TODO: Implement this algorithm\n\n', .replace('\n\n # TODO: Implement this algorithm\n\n',
'\n # TODO: Implement this algorithm\n') '\n # TODO: Implement this algorithm\n')
declaration, errors = prototypes.load('algorithm') declaration, errors = prototypes.load('algorithm')
...@@ -119,7 +120,7 @@ def fork(request, author, name, version): ...@@ -119,7 +120,7 @@ def fork(request, author, name, version):
if fork_of.sharing == Algorithm.USABLE and fork_of.author != request.user: if fork_of.sharing == Algorithm.USABLE and fork_of.author != request.user:
raise Http404() raise Http404()
description = fork_of.description description = ensure_string(fork_of.description)
parameters = {'original_author': author, parameters = {'original_author': author,
'algorithm_author': request.user.username, 'algorithm_author': request.user.username,
...@@ -127,7 +128,7 @@ def fork(request, author, name, version): ...@@ -127,7 +128,7 @@ def fork(request, author, name, version):
'algorithm_version': fork_of.version, 'algorithm_version': fork_of.version,
'algorithm_language': fork_of.json_language, 'algorithm_language': fork_of.json_language,
'algorithm_language_name': fork_of.language_fullname(), 'algorithm_language_name': fork_of.language_fullname(),
'declaration': fork_of.declaration_file.read().replace('\n', ''), 'declaration': fork_of.declaration_string.replace('\n', ''),
'short_description': fork_of.short_description, 'short_description': fork_of.short_description,
'description': description.replace('\n', '\\n'), 'description': description.replace('\n', '\\n'),
'html_description': restructuredtext(description).replace('\n', ''), 'html_description': restructuredtext(description).replace('\n', ''),
...@@ -168,14 +169,14 @@ def edit(request, author, name, version): ...@@ -168,14 +169,14 @@ def edit(request, author, name, version):
return HttpResponseForbidden('Algorithm %s is not modifiable' % \ return HttpResponseForbidden('Algorithm %s is not modifiable' % \
algorithm.fullname()) algorithm.fullname())
description = algorithm.description description = ensure_string(algorithm.description)
parameters = {'algorithm_author': request.user.username, parameters = {'algorithm_author': request.user.username,
'algorithm_name': name, 'algorithm_name': name,
'algorithm_version': algorithm.version, 'algorithm_version': algorithm.version,
'algorithm_language': algorithm.json_language, 'algorithm_language': algorithm.json_language,
'algorithm_language_name': algorithm.language_fullname(), 'algorithm_language_name': algorithm.language_fullname(),
'declaration': algorithm.declaration_file.read().replace('\n', ''), 'declaration': algorithm.declaration_string.replace('\n', ''),
'short_description': algorithm.short_description, 'short_description': algorithm.short_description,
'description': description.replace('\n', '\\n'), 'description': description.replace('\n', '\\n'),
'html_description': restructuredtext(description).replace('\n', ''), 'html_description': restructuredtext(description).replace('\n', ''),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment