Question: log _ analyzer.py import re from datetime import datetime import csv class LogEntry: def _ _ init _ _ ( self , event _ time,

log
_
analyzer.py
import re
from datetime import datetime
import csv
class LogEntry:
def
_
_
init
_
_
(
self
,
event
_
time, internal
_
ip
,
port
_
number, protocol, action, rule
_
id
,
source
_
ip
,
country, country
_
name
)
:
self.event
_
time
=
datetime.strptime
(
event
_
time,
'
%
Y
-
%
m
-
%
d
%
H:
%
M:
%
S
%
Z
'
)
self.internal
_
ip
=
internal
_
ip
self.port
_
number
=
port
_
number
self.protocol
=
protocol
self.action
=
action
self.rule
_
id
=
rule
_
id
self.source
_
ip
=
source
_
ip
self.country
=
country
self.country
_
name
=
country
_
name
@property
def ipv
4
_
class
(
self
)
:
first
_
octet
=
int
(
self
.
source
_
ip
.
split
(
'
.
'
)
[
0
]
)
if
1
<
=
first
_
octet
<
=
1
2
6
:
return
'
A
'
elif
1
2
8
<
=
first
_
octet
<
=
1
9
1
:
return
'
B
'
elif
1
9
2
<
=
first
_
octet
<
=
2
2
3
:
return
'
C
'
elif
2
2
4
<
=
first
_
octet
<
=
2
3
9
:
return
'
D
'
else:
return 'Unknown'
test
_
log
_
analyzer.py
import unittest
from log
_
analyzer import LogEntry
class TestLogEntry
(
unittest
.
TestCase
)
:
def test
_
event
_
time
_
conversion
(
self
)
:
log
_
entry
=
LogEntry
(
event
_
time
=
"
2
0
2
2
-
0
1
-
0
1
0
8
:
2
9
:
2
5
UTC", internal
_
ip
=
"
1
9
2
.
1
6
8
.
1
.
1
"
,
port
_
number
=
"
2
2
"
,
protocol
=
"
TCP
"
,
action
=
"ALLOW", rule
_
id
=
"
1
0
0
1
"
,
source
_
ip
=
"
1
9
2
.
1
6
8
.
1
.
1
0
0
"
,
country
=
"
US
"
,
country
_
name
=
"United States"
)
self.assertEqual
(
log
_
entry.event
_
time.month,
1
)
self.assertEqual
(
log
_
entry.event
_
time.hour,
8
)
def test
_
ipv
4
_
class
(
self
)
:
log
_
entry
_
a
=
LogEntry
(
"
2
0
2
2
-
0
1
-
0
1
0
8
:
2
9
:
2
5
UTC",
"
1
9
2
.
1
6
8
.
1
.
1
"
,
"
2
2
"
,
"
TCP
"
,
"ALLOW",
"
1
0
0
1
"
,
"
1
0
.
0
.
0
.
1
"
,
"
US
"
,
"United States"
)
log
_
entry
_
b
=
LogEntry
(
"
2
0
2
2
-
0
1
-
0
1
0
8
:
2
9
:
2
5
UTC",
"
1
9
2
.
1
6
8
.
1
.
1
"
,
"
2
2
"
,
"
TCP
"
,
"ALLOW",
"
1
0
0
1
"
,
"
1
2
8
.
0
.
0
.
1
"
,
"
US
"
,
"United States"
)
log
_
entry
_
c
=

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!