Skip to content

Commit

Permalink
imporves call log parser code readability #122
Browse files Browse the repository at this point in the history
  • Loading branch information
bb-Ricardo committed Jul 13, 2024
1 parent 4874446 commit 5979454
Showing 1 changed file with 31 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,38 +77,47 @@ def get_call_duration(field) -> int:

return duration

@property
def hash(self) -> str:
return self._hash

@property
def type(self) -> str:
return self._call_type

@property
def date_time(self) -> datetime:
return self._date_time

@property
def caller_name(self) -> str:
return self._caller_name.strip('"')

@property
def caller_number(self) -> str:
return self._caller_number.strip('"')

@property
def caller_location(self) -> str:
return self._caller_location.strip('"')

@property
def extension(self) -> str:
return self._extension.strip('"')

@property
def number_called(self) -> str:
return self._number_called.strip('"')

@property
def duration(self) -> int:
return self._duration


class CallLog:
"""
Parse FritzBox call log entries csv list
extracts separator and header and
extracts separator and header, parses each line with given seperator
"""

new_line_char = "\n"
Expand Down Expand Up @@ -170,69 +179,69 @@ def __init__(self, data):
"value_function": lambda data: data,
"next": {
"type": str,
"tags_function": lambda entry: {"uid": entry.hash()},
"value_function": lambda entry: entry.type(),
"timestamp_function": lambda entry: entry.date_time(),
"tags_function": lambda entry: {"uid": entry.hash},
"value_function": lambda entry: entry.type,
"timestamp_function": lambda entry: entry.date_time,
}
},
"call_list_caller_name": {
"type": list,
"value_function": lambda data: data,
"next": {
"type": str,
"tags_function": lambda entry: {"uid": entry.hash()},
"value_function": lambda entry: entry.caller_name(),
"timestamp_function": lambda entry: entry.date_time(),
"tags_function": lambda entry: {"uid": entry.hash},
"value_function": lambda entry: entry.caller_name,
"timestamp_function": lambda entry: entry.date_time,
}
},
"call_list_caller_number": {
"type": list,
"value_function": lambda data: data,
"next": {
"type": str,
"tags_function": lambda entry: {"uid": entry.hash()},
"value_function": lambda entry: entry.caller_number(),
"timestamp_function": lambda entry: entry.date_time(),
"tags_function": lambda entry: {"uid": entry.hash},
"value_function": lambda entry: entry.caller_number,
"timestamp_function": lambda entry: entry.date_time,
}
},
"call_list_caller_location": {
"type": list,
"value_function": lambda data: data,
"next": {
"type": str,
"tags_function": lambda entry: {"uid": entry.hash()},
"value_function": lambda entry: entry.caller_location(),
"timestamp_function": lambda entry: entry.date_time(),
"tags_function": lambda entry: {"uid": entry.hash},
"value_function": lambda entry: entry.caller_location,
"timestamp_function": lambda entry: entry.date_time,
}
},
"call_list_extension": {
"type": list,
"value_function": lambda data: data,
"next": {
"type": str,
"tags_function": lambda entry: {"uid": entry.hash()},
"value_function": lambda entry: entry.extension(),
"timestamp_function": lambda entry: entry.date_time(),
"tags_function": lambda entry: {"uid": entry.hash},
"value_function": lambda entry: entry.extension,
"timestamp_function": lambda entry: entry.date_time,
}
},
"call_list_number_called": {
"type": list,
"value_function": lambda data: data,
"next": {
"type": str,
"tags_function": lambda entry: {"uid": entry.hash()},
"value_function": lambda entry: entry.number_called(),
"timestamp_function": lambda entry: entry.date_time(),
"tags_function": lambda entry: {"uid": entry.hash},
"value_function": lambda entry: entry.number_called,
"timestamp_function": lambda entry: entry.date_time,
}
},
"call_list_duration": {
"type": list,
"value_function": lambda data: data,
"next": {
"type": int,
"tags_function": lambda entry: {"uid": entry.hash()},
"value_function": lambda entry: entry.duration(),
"timestamp_function": lambda entry: entry.date_time(),
"tags_function": lambda entry: {"uid": entry.hash},
"value_function": lambda entry: entry.duration,
"timestamp_function": lambda entry: entry.date_time,
}
}
}
Expand Down

0 comments on commit 5979454

Please sign in to comment.