asterisk_mini_statement 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/asterisk_mini_statement.rb +15 -19
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c13c22c873c5639258a9ebfcee0cc65e6fd81585
|
4
|
+
data.tar.gz: 52a662d74c97cc39a8801691c6732783446f2f39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a329cb3670bcb27686f64b15fbae1b74ad021bfc8d256443489a8f88e3a388a568430ef52bb303fa5cdd004b4dda72d4d7c3e2190790a2935135acd0271a4f3
|
7
|
+
data.tar.gz: 62459d67951f77f39d3dc8dad190f5c0ba7609a43a36efeced2de039d2ea705b8c26eff8484f671779591f1dbe722c86814e572b1b0b3cba0d2d05909508271d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
@@ -25,7 +25,7 @@ class AsteriskMiniStatement
|
|
25
25
|
def initialize(cdr_file='/var/log/asterisk/cdr-csv/Master.csv',
|
26
26
|
startdate: (Date.today - 8).strftime("%d-%b-%Y"),
|
27
27
|
enddate: (Date.today - 1).strftime("%d-%b-%Y"),
|
28
|
-
telno: 'unknown', outgoing_regex: /SIP\/(\d+)
|
28
|
+
telno: 'unknown', outgoing_regex: /SIP\/(\d+)@/)
|
29
29
|
|
30
30
|
sdate = Date.parse startdate
|
31
31
|
edate = Date.parse enddate
|
@@ -36,25 +36,24 @@ class AsteriskMiniStatement
|
|
36
36
|
lastapp lastdata start answer end duration billsec disposition
|
37
37
|
amaflags astid)
|
38
38
|
|
39
|
-
|
39
|
+
lines = s.lines.map {|line| Hash[headings.zip(CSV.parse(line).first)] }
|
40
40
|
|
41
41
|
|
42
|
-
|
42
|
+
lines.select! do |x|
|
43
43
|
date = Date.parse(x[:start])
|
44
44
|
date >= sdate and date <= edate and \
|
45
45
|
x[:disposition] == 'ANSWERED' and x[:lastapp] == 'Dial'
|
46
46
|
end
|
47
47
|
|
48
|
-
|
48
|
+
days = lines.group_by {|x| Date.parse(x[:start]) }
|
49
49
|
|
50
50
|
px = Polyrex.new('calls[telno, period]/day[date]/item[time, telno,' +
|
51
51
|
' io, dur]')
|
52
|
-
|
52
|
+
px.summary.telno = telno
|
53
53
|
px.summary.period = "%s - %s" % [sdate.strftime("%d/%m/%Y"),
|
54
54
|
edate.strftime("%d/%m/%Y")]
|
55
|
-
|
56
|
-
|
57
|
-
a3.each do |day, items|
|
55
|
+
|
56
|
+
days.each do |day, items|
|
58
57
|
|
59
58
|
px.create_day({date: day.strftime("%d-%b-%Y")}) do |create|
|
60
59
|
|
@@ -62,12 +61,9 @@ class AsteriskMiniStatement
|
|
62
61
|
|
63
62
|
outgoing = x[:lastdata][outgoing_regex,1]
|
64
63
|
|
65
|
-
io, telno =
|
66
|
-
|
67
|
-
|
68
|
-
telno = ['in', x[:clid][/"([^"]+)/,1]]
|
69
|
-
end
|
70
|
-
|
64
|
+
io, telno = outgoing ? ['out', outgoing] :
|
65
|
+
['in', x[:clid][/"([^"]+)/,1]]
|
66
|
+
|
71
67
|
raw_a = Subunit.new(units={minutes:60, hours:60},
|
72
68
|
seconds: x[:duration].to_i).to_a
|
73
69
|
|
@@ -76,8 +72,8 @@ class AsteriskMiniStatement
|
|
76
72
|
val > 0 ? r << (val.to_s + label) : r
|
77
73
|
end.take 2
|
78
74
|
|
79
|
-
time
|
80
|
-
|
75
|
+
create.item(time: x[:start][/\d{2}:\d{2}/], telno: telno,
|
76
|
+
io: io, dur: a.join(' ') )
|
81
77
|
end
|
82
78
|
|
83
79
|
end
|
@@ -102,6 +98,7 @@ Date/time Telephone duration
|
|
102
98
|
========= =========== ========"
|
103
99
|
|
104
100
|
records = px.records.inject('') do |r, day|
|
101
|
+
|
105
102
|
date = Date.parse(day.date)
|
106
103
|
r << "\n" + date.strftime("%A #{date.day.ordinalize} %B %Y") + "\n\n"
|
107
104
|
|
@@ -109,8 +106,7 @@ Date/time Telephone duration
|
|
109
106
|
|
110
107
|
r2 << (x.io == 'in' ? '>' : '<')
|
111
108
|
r2 << Time.parse(x.time).strftime(" %l:%M%P: ")
|
112
|
-
r2 << x.telno.ljust(13)
|
113
|
-
r2 << x.dur.rjust(8) + "\n"
|
109
|
+
r2 << x.telno.ljust(13) + x.dur.rjust(8) + "\n"
|
114
110
|
end
|
115
111
|
|
116
112
|
r << "\n" + '-' * 32 + "\n"
|
@@ -120,4 +116,4 @@ Date/time Telephone duration
|
|
120
116
|
|
121
117
|
end
|
122
118
|
|
123
|
-
end
|
119
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asterisk_mini_statement
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
nvlgfc5b1kUBa0viP6I53DUsYpTa1sWNpVQoXGEIIgB46Gtx/+fY83adQ3SrThtn
|
32
32
|
MbY57VwNAM4kow==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2016-05-
|
34
|
+
date: 2016-05-16 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: subunit
|
metadata.gz.sig
CHANGED
Binary file
|