def understands_refusal(self, raw_crash): try: return normalize(raw_crash['Version']) >= normalize( self.config.minimal_version_for_understanding_refusal[ raw_crash['ProductName'] ]) except KeyError: return False
def _predicate(self, raw_crash, raw_dumps, processed_crash, processor): try: return (raw_crash.ProductName == 'Firefox' and normalize(raw_crash.Version) < self.out_of_date_threshold) except AttributeError: try: self.out_of_date_threshold = normalize( self.config.firefox_out_of_date_version) except (AttributeError, KeyError): self.out_of_date_threshold = normalize( processor.config.firefox_out_of_date_version) return self._predicate(raw_crash, raw_dumps, processed_crash, processor)
def _predicate(self, raw_crash, raw_dumps, processed_crash, processor): try: return ( raw_crash.ProductName == 'Firefox' and normalize(raw_crash.Version) < self.out_of_date_threshold ) except AttributeError: try: self.out_of_date_threshold = normalize( self.config.firefox_out_of_date_version ) except (AttributeError, KeyError): self.out_of_date_threshold = normalize( processor.config.firefox_out_of_date_version ) return self._predicate( raw_crash, raw_dumps, processed_crash, processor )
def _action(self, raw_crash, raw_dumps, processed_crash, processor): crashed_version = normalize(raw_crash.Version) if "Win" in processed_crash["json_dump"]["system_info"]['os']: return self._windows_action(raw_crash, raw_dumps, processed_crash, processor) elif processed_crash["json_dump"]["system_info"]['os'] == "Mac OS X": return self._osx_action(raw_crash, raw_dumps, processed_crash, processor) else: return self._add_classification(processed_crash, 'update-firefox-latest-version', None, processor.config.logger)
def _action(self, raw_crash, raw_dumps, processed_crash, processor): crashed_version = normalize(raw_crash.Version) if "Win" in processed_crash["json_dump"]["system_info"]['os']: return self._windows_action( raw_crash, raw_dumps, processed_crash, processor ) elif processed_crash["json_dump"]["system_info"]['os'] == "Mac OS X": return self._osx_action( raw_crash, raw_dumps, processed_crash, processor ) else: return self._add_classification( processed_crash, 'update-firefox-latest-version', None, processor.config.logger )
def testNormalize(): for ver, expected, ver2 in tests: got = vtl.normalize(ver) assert got == expected, "expected %s, but got %s" % (expected, got)