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 80e3b2c4 petrh
4 af7609b5 Tomáš Ballák
from shared_types import DateDict
5 80e3b2c4 petrh
6 af7609b5 Tomáš Ballák
7
def process_file(filename: str) -> DateDict:
8 04a2b5a4 petrh
    """
9 342ea08a petrh
    Method that take path to crawled file and outputs date dictionary:
10 3692d853 petrh
    Date dictionary is a dictionary where keys are dates in format YYYY-mm-dd-hh (2018-04-08-15)
11 d6ca840d petrh
    and value is dictionary where keys are devices (specified in configuration file)
12
    and value is CSVDataLine.csv_data_line with device,date and occurrence
13 04a2b5a4 petrh
14
    Args:
15 342ea08a petrh
    filename: name of processed file
16 04a2b5a4 petrh
17
    Returns:
18 342ea08a petrh
    None if not implemented
19
    date_dict when implemented
20 04a2b5a4 petrh
    """
21 af7609b5 Tomáš Ballák
    date_dict = {}
22 80e3b2c4 petrh
23 2d129043 petrh
    with open(filename, "r", encoding="utf-8") as file:
24 80e3b2c4 petrh
25
        for line in file:
26
27
            array = line.split(";")
28
29 d6ca840d petrh
            date = date_formating.date_time_formatter(array[1][1:-1])
30 80e3b2c4 petrh
            name = array[0][1:-1]
31 1187e871 petrh
            occurrence = array[2][:-1]
32 80e3b2c4 petrh
33
            if date not in date_dict:
34 af7609b5 Tomáš Ballák
                date_dict[date] = {}
35 80e3b2c4 petrh
36
            if name in date_dict[date]:
37 1187e871 petrh
                date_dict[date][name].occurrence += int(occurrence)
38 80e3b2c4 petrh
            else:
39 af7609b5 Tomáš Ballák
                date_dict[date][name] = csv_data_line.CSVDataLine(
40
                    name, date, occurrence)
41 80e3b2c4 petrh
42 2d129043 petrh
    return date_dict