Log unknown PyLint values to Sentry for translation

This commit is contained in:
Sebastian Serth
2020-11-11 17:20:08 +01:00
parent 406aeef461
commit 7faae55ff5

View File

@ -50,16 +50,16 @@ class PyLintAdapter < TestingFrameworkAdapter
severity = message[:severity] severity = message[:severity]
name = message[:name] name = message[:name]
message[:severity] = I18n.t("linter.#{severity}.severity_name", locale: :de, default: message[:severity]) message[:severity] = get_t("linter.#{severity}.severity_name", message[:severity])
message[:name] = I18n.t("linter.#{severity}.#{name}.name", locale: :de, default: message[:name]) message[:name] = get_t("linter.#{severity}.#{name}.name", message[:name])
regex = I18n.t("linter.#{severity}.#{name}.regex", locale: :de, default: nil)&.strip regex = get_t("linter.#{severity}.#{name}.regex", nil)&.strip
if regex.present? if regex.present?
captures = message[:result].match(Regexp.new(regex)).named_captures.symbolize_keys captures = message[:result].match(Regexp.new(regex)).named_captures.symbolize_keys
replacement = captures.each do |key, value| replacement = captures.each do |key, value|
value&.replace I18n.t("linter.#{severity}.#{name}.#{key}.#{value}", default: value, locale: :de) value&.replace get_t("linter.#{severity}.#{name}.#{key}.#{value}", value)
end end
else else
replacement = {} replacement = {}
@ -81,4 +81,10 @@ class PyLintAdapter < TestingFrameworkAdapter
Raven.capture_exception(e) Raven.capture_exception(e)
assessment assessment
end end
def self.get_t(key, default)
translation = I18n.t(key, locale: :de, default: default)
Raven.capture_message({key: key, default: default}) if translation == default
translation
end
end end