Question: Question The following Python code returns an error when a user ('chris') that was logged out was never logged in. How do I update the

Question

The following Python code returns an error when a user ('chris') that was logged out was never logged in. How do I update the code to remove the error?

def get_event_date(event):

return event.date

def current_users(events):

events.sort(key=get_event_date)

machines = {}

for event in events:

if event.machine not in machines:

machines[event.machine] = set()

if event.type == "login":

machines[event.machine].add(event.user)

if event.type == "logout":

machines[event.machine].remove(event.user)

return machines

def generate_report(machines):

for machine, users in machines.items():

if len(users) > 0:

user_list = ", ".join(users)

print("{}: {}".format(machine, user_list))

class Event:

def __init__(self, event_date, event_type, machine_name, user):

self.date = event_date

self.type = event_type

self.machine = machine_name

self.user = user

events = [

Event('2020-01-21 12:45:56', 'login', 'myworkstation.local', 'jordan'),

Event('2020-01-22 15:53:42', 'logout', 'webserver.local', 'jordan'),

Event('2020-01-21 18:53:21', 'login', 'webserver.local', 'lane'),

Event('2020-01-22 10:25:34', 'logout', 'myworkstation.local', 'jordan'),

Event('2020-01-21 08:20:01', 'login', 'webserver.local', 'jordan'),

Event('2020-01-23 11:24:35', 'logout', 'mailserver.local', 'chris'),

]

users = current_users(events)

print(users)

generate_report(users)

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 Programming Questions!