Module: AbrtReportsHelper
Defined Under Namespace
Classes: StringIOWithPath
Instance Method Summary
collapse
Instance Method Details
#count_abrt_reports(abrt_reports) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'app/helpers/abrt_reports_helper.rb', line 10
def count_abrt_reports(abrt_reports)
range_days = 14
data = []
now = Time.now.utc
start = now - range_days.days
by_day = abrt_reports.where(:reported_at => start..now).
group('DATE(reported_at)').
sum(:count)
range_days.downto(1) do |days_back|
date = (now - (days_back-1).days).strftime('%Y-%m-%d')
crashes = (by_day[date] || 0)
data << [days_back, crashes]
end
data
end
|
71
72
73
74
75
76
77
|
# File 'app/helpers/abrt_reports_helper.rb', line 71
def format_reason(reason)
if reason.nil? or reason.empty?
_('Unknown')
else
reason
end
end
|
#render_abrt_graph(abrt_reports, options = {}) ⇒ Object
27
28
29
30
|
# File 'app/helpers/abrt_reports_helper.rb', line 27
def render_abrt_graph(abrt_reports, options = {})
data = count_abrt_reports abrt_reports
flot_bar_chart 'abrt_graph', _('Days Ago'), _('Number of crashes'), data, options
end
|
#send_to_abrt_server(abrt_report) ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'app/helpers/abrt_reports_helper.rb', line 42
def send_to_abrt_server(abrt_report)
request_params = {
:timeout => 60,
:open_timeout => 10,
:verify_ssl => Setting[:abrt_server_verify_ssl] ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE
}
if Setting[:abrt_server_ssl_ca_file] && !Setting[:abrt_server_ssl_ca_file].empty?
request_params[:ssl_ca_file] = Setting[:abrt_server_ssl_ca_file]
end
if Setting[:abrt_server_ssl_certificate] && !Setting[:abrt_server_ssl_certificate].empty? \
&& Setting[:abrt_server_ssl_priv_key] && !Setting[:abrt_server_ssl_priv_key].empty?
request_params[:ssl_client_cert] = OpenSSL::X509::Certificate.new(File.read(Setting[:abrt_server_ssl_certificate]))
request_params[:ssl_client_key] = OpenSSL::PKey::RSA.new(File.read(Setting[:abrt_server_ssl_priv_key]))
end
resource = RestClient::Resource.new(Setting[:abrt_server_url], request_params)
report_file = StringIOWithPath.new(abrt_report.json, '*buffer*', 'application/json')
response = resource['reports/new/'].post({ :file => report_file, :multipart => true }, :content_type => :json, :accept => :json)
if response.code != 202
logger.error "Failed to forward bug report: #{response.code}: #{response.to_str}"
raise ::Foreman::Exception.new(N_('Failed to forward bug report: %s: %s', response.code, response.to_str))
end
JSON.parse(response.body)
end
|
2
3
4
5
6
7
8
|
# File 'app/helpers/abrt_reports_helper.rb', line 2
def simple_format_if_multiline(str)
if str and str.include? "\n"
simple_format str
else
str
end
end
|