def get_context_data(self, **kwargs): if not JobAccess(self.request.user, self.object.root.job).can_view(): raise BridgeException(code=400) try: etv = GetETV( ArchiveFileContent(self.object, 'error_trace', ERROR_TRACE_FILE).content.decode('utf8'), self.request.user) except Exception as e: logger.exception(e, stack_info=True) etv = None return { 'report': self.object, 'report_type': 'unsafe', 'parents': reports.utils.get_parents(self.object), 'SelfAttrsData': reports.utils.report_attibutes(self.object), 'MarkTable': ReportMarkTable(self.request.user, self.object, self.get_view(VIEW_TYPES[10])), 'etv': etv, 'include_assumptions': self.request.user.extended.assumptions, 'include_jquery_ui': True, 'resources': reports.utils.get_leaf_resources(self.request.user, self.object) }
def get_context_data(self, **kwargs): if not JobAccess(self.request.user, self.object.decision.job).can_view: raise BridgeException(code=400) return { 'report': self.object, 'include_jquery_ui': True, 'etv': GetETV( ArchiveFileContent(self.object, 'error_trace', ERROR_TRACE_FILE).content.decode('utf8'), self.request.user) }
def get_context_data(self, **kwargs): if not JobAccess(self.request.user, self.object.root.job).can_view(): raise BridgeException(code=400) return { 'report': self.object, 'include_assumptions': self.request.user.extended.assumptions, 'etv': GetETV( ArchiveFileContent(self.object, 'error_trace', ERROR_TRACE_FILE).content.decode('utf8'), self.request.user) }
def __check_traces(self): manager = Extended.objects.filter(role=USER_ROLES[2][0]).first() if not manager: raise ValueError( "Can't check error traces without manager in the system") files = self.__get_list_of_sources() for tr_name in self._traces: res = GetETV(self.__read_trace(tr_name), manager.user) if 'attrs' in res.data: self.add_attrs[tr_name] = res.data['attrs'] if 'files' not in res.data: raise ValueError('Wrong format of error trace') trace_files = set(f[1:] if f.startswith('/') else f for f in res.data['files']) if any(x not in files for x in trace_files): raise ValueError( "Sources doesn't have needed source for error trace")
def get_context_data(self, **kwargs): if not JobAccess(self.request.user, self.object.decision.job).can_view: raise BridgeException(code=400) try: etv = GetETV( ArchiveFileContent(self.object, 'error_trace', ERROR_TRACE_FILE).content.decode('utf8'), self.request.user) except Exception as e: logger.exception(e) etv = None context = super().get_context_data(**kwargs) if self.object.decision.weight == DECISION_WEIGHT[0][0]: context['parents'] = get_parents(self.object) context['verifier_files_url'] = leaf_verifier_files_url(self.object) context.update({ 'include_jquery_ui': True, 'report': self.object, 'etv': etv, 'SelfAttrsData': self.object.attrs.order_by('id').values_list( 'id', 'name', 'value', 'data'), 'MarkTable': UnsafeReportMarksTable(self.request.user, self.object, self.get_view(VIEW_TYPES[10])), 'resources': report_resources(self.request.user, self.object) }) # Get parent coverage if exists and parent is verification report cov_obj = CoverageArchive.objects.filter( report_id=self.object.parent_id, report__verification=True).first() if cov_obj: context['coverage'] = LeafCoverageStatistics(cov_obj) return context
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['include_jquery_ui'] = True context['etv'] = context['json'] = None et_index = 0 if 'index' in self.request.GET: et_index = int(self.request.GET['index']) context['index'] = et_index et_dir = os.path.join(settings.BASE_DIR, 'tools', 'error-traces') error_traces = os.listdir(et_dir) context['error_traces'] = list((i, error_traces[i]) for i in range(len(error_traces))) if len(error_traces) > et_index: with open(os.path.join(et_dir, error_traces[0]), mode='r', encoding='utf-8') as fp: error_trace = fp.read() try: context['etv'] = GetETV(error_trace, self.request.user) except Exception as e: logger.exception(e) context['json'] = ErrorTraceAnanlizer(error_trace).get_trace().replace('\\"', '\\\\"') return context