Chromium Code Reviews| Index: appengine/findit/crash/fracas_crash_pipeline.py |
| diff --git a/appengine/findit/crash/fracas_crash_pipeline.py b/appengine/findit/crash/fracas_crash_pipeline.py |
| index 0a55e7ad2f8623b6f838b66e9a35d8e0a9a29863..aed63f83f96f5c7e9ff88df428504fbadc1e7290 100644 |
| --- a/appengine/findit/crash/fracas_crash_pipeline.py |
| +++ b/appengine/findit/crash/fracas_crash_pipeline.py |
| @@ -3,6 +3,7 @@ |
| # found in the LICENSE file. |
| import base64 |
| +import copy |
| import datetime |
| import json |
| import logging |
| @@ -23,6 +24,8 @@ from model.crash.fracas_crash_analysis import FracasCrashAnalysis |
| # TODO(katesonia): Move these to config page. |
| _SIGNATURE_BLACKLIST_MARKERS = ['[Android Java Exception]'] |
| _PLATFORM_RENAME = {'linux': 'unix'} |
| +_FINDIT_FEEDBACK_URL_TEMPLATE = ('https://findit-for-me.googleplex.com/crash/' |
|
stgao
2016/08/18 18:30:46
The hostname should go to the config instead.
|
| + 'fracas-result-feedback?key=%s') |
| class FracasBasePipeline(BasePipeline): |
| @@ -80,14 +83,25 @@ class PublishResultPipeline(FracasBasePipeline): |
| logging.error('Failed to publish analysis result for %s', |
| repr(self.crash_identifiers)) |
| - # Arguments number differs from overridden method - pylint: disable=W0221 |
| - def run(self, crash_identifiers): |
| - analysis = FracasCrashAnalysis.Get(crash_identifiers) |
| - result = { |
| + def PostProcessResults(self, analysis, crash_identifiers): |
| + analysis_result = copy.deepcopy(analysis.result) |
| + analysis_result['feedback_url'] = (_FINDIT_FEEDBACK_URL_TEMPLATE % |
| + analysis.key.urlsafe()) |
| + if analysis_result['found']: |
| + for cl in analysis_result['suspected_cls']: |
| + cl['confidence'] = round(cl['confidence'], 2) |
| + cl.pop('reason', None) |
| + |
| + return { |
| 'crash_identifiers': crash_identifiers, |
| 'client_id': analysis.client_id, |
| - 'result': analysis.result, |
| + 'result': analysis_result, |
| } |
| + |
| + # Arguments number differs from overridden method - pylint: disable=W0221 |
| + def run(self, crash_identifiers): |
| + analysis = FracasCrashAnalysis.Get(crash_identifiers) |
| + result = self.PostProcessResults(analysis, crash_identifiers) |
| messages_data = [json.dumps(result, sort_keys=True)] |
| crash_config = CrashConfig.Get() |