mirror of
https://github.com/ansible/awx.git
synced 2026-01-10 15:32:07 -03:30
Add absolute end value for limited json stdout view
This commit is contained in:
parent
745eb00b3f
commit
d4ef57bab6
@ -1707,7 +1707,7 @@ class UnifiedJobStdout(RetrieveAPIView):
|
||||
dark_bg = (content_only and dark) or (not content_only and (dark or not dark_val))
|
||||
conv = Ansi2HTMLConverter(scheme=scheme, dark_bg=dark_bg,
|
||||
title=get_view_name(self.__class__))
|
||||
content, start, end = unified_job.result_stdout_raw_limited(start_line, end_line)
|
||||
content, start, end, absolute_end = unified_job.result_stdout_raw_limited(start_line, end_line)
|
||||
if content_only:
|
||||
headers = conv.produce_headers()
|
||||
body = conv.convert(content, full=False)
|
||||
@ -1719,7 +1719,7 @@ class UnifiedJobStdout(RetrieveAPIView):
|
||||
data = data.replace('.body_background { background-color: #AAAAAA; }',
|
||||
'.body_background { background-color: #f5f5f5; }')
|
||||
if request.accepted_renderer.format == 'json':
|
||||
return Response({'range': {'start': start, 'end': end}, 'content': body})
|
||||
return Response({'range': {'start': start, 'end': end, 'absolute_end': absolute_end}, 'content': body})
|
||||
return Response(data)
|
||||
elif request.accepted_renderer.format == 'ansi':
|
||||
return Response(unified_job.result_stdout_raw)
|
||||
|
||||
@ -524,6 +524,7 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique
|
||||
if end_line is not None:
|
||||
end_line = int(end_line)
|
||||
stdout_lines = self.result_stdout_raw_handle().readlines()
|
||||
absolute_end = len(stdout_lines)
|
||||
for line in stdout_lines[int(start_line):end_line]:
|
||||
return_buffer += line
|
||||
if int(start_line) < 0:
|
||||
@ -535,12 +536,12 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique
|
||||
end_actual = min(int(start_line)+int(end_line), len(stdout_lines))
|
||||
else:
|
||||
end_actual = len(stdout_lines)
|
||||
return return_buffer, start_actual, end_actual
|
||||
return return_buffer, start_actual, end_actual, absolute_end
|
||||
|
||||
def result_stdout_limited(self, start_line=0, end_line=None):
|
||||
ansi_escape = re.compile(r'\x1b[^m]*m')
|
||||
content, start, end = self.result_stdout_raw_limited(start_line, end_line)
|
||||
return ansi_escape.sub('', content), start, end
|
||||
content, start, end, absolute_end = self.result_stdout_raw_limited(start_line, end_line)
|
||||
return ansi_escape.sub('', content), start, end, absolute_end
|
||||
|
||||
@property
|
||||
def celery_task(self):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user