Projekt

Obecné

Profil

Stáhnout (1.26 KB) Statistiky
| Větev: | Revize:
1 d6ca840d petrh
from Utilities.CSV import csv_data_line
2
from Utilities import date_formating
3 b0d2180b petrh
4
5 32566ad0 petrh
def process_file(filename):
6 04a2b5a4 petrh
    """
7 342ea08a petrh
    Method that take path to crawled file and outputs date dictionary:
8 04a2b5a4 petrh
    Date dictionary is a dictionary where keys are dates in format ddmmYYYYhh (0804201815)
9 d6ca840d petrh
    and value is dictionary where keys are devices (specified in configuration file)
10
    and value is CSVDataLine.csv_data_line with device,date and occurrence
11 04a2b5a4 petrh
12
    Args:
13 342ea08a petrh
    filename: name of processed file
14 04a2b5a4 petrh
15
    Returns:
16 342ea08a petrh
    None if not implemented
17
    date_dict when implemented
18 04a2b5a4 petrh
    """
19 2d129043 petrh
    date_dict = dict()
20 342ea08a petrh
21 b0d2180b petrh
    with open(filename, "r", encoding="utf-8") as file:
22
23
        for line in file:
24
25
            array = line.split(";")
26
27 d6ca840d petrh
            date = date_formating.date_time_formatter(array[4][1:-2])
28 b0d2180b petrh
            name = array[1][1:-1]
29 1187e871 petrh
            occurrence = array[0]
30 b0d2180b petrh
31
            if date not in date_dict:
32
                date_dict[date] = dict()
33
34
            if name in date_dict[date]:
35 528cc257 petrh
                date_dict[date][name].occurrence = max(
36
                    date_dict[date][name].occurrence, int(occurrence))
37 b0d2180b petrh
            else:
38 528cc257 petrh
                date_dict[date][name] = csv_data_line.CSVDataLine(
39
                    name, date, int(occurrence))
40 b0d2180b petrh
41 2d129043 petrh
    return date_dict