1 |
527abccd
|
petrh
|
from Utilities.Database import DatabaseDataLine
|
2 |
|
|
import pymongo
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
def get_data_from_file(filename, devices):
|
6 |
|
|
f = open(filename, "r")
|
7 |
|
|
|
8 |
|
|
date_dict = dict()
|
9 |
|
|
|
10 |
|
|
for line in f:
|
11 |
|
|
# remove \n
|
12 |
|
|
line = line[:-1]
|
13 |
|
|
# split by csv splitter ;
|
14 |
|
|
|
15 |
|
|
csv_collum = line.split(";")
|
16 |
|
|
|
17 |
|
|
name = csv_collum[0]
|
18 |
|
|
occurence = csv_collum[1]
|
19 |
|
|
date = csv_collum[2]
|
20 |
|
|
|
21 |
|
|
date_without_hours = date[:-2]
|
22 |
|
|
|
23 |
|
|
database_data_line = DatabaseDataLine.DatabaseDataLine(name, devices[name]["x"]
|
24 |
|
|
, devices[name]["y"], date, occurence)
|
25 |
|
|
|
26 |
|
|
if date_without_hours not in date_dict:
|
27 |
|
|
date_dict[date_without_hours] = list()
|
28 |
|
|
|
29 |
|
|
date_dict[date_without_hours].append(database_data_line.to_dictionary())
|
30 |
|
|
|
31 |
|
|
return date_dict
|
32 |
|
|
|
33 |
|
|
|
34 |
|
|
def load_data_to_database(dataset_name, data_dic):
|
35 |
|
|
myclient = pymongo.MongoClient("mongodb://localhost:27017/");
|
36 |
|
|
|
37 |
|
|
# Authenticating
|
38 |
|
|
myclient.admin.authenticate('root', 'root');
|
39 |
|
|
|
40 |
|
|
# Database DATA
|
41 |
|
|
mydb = myclient["DATA"]
|
42 |
|
|
|
43 |
|
|
# Collection Datasets
|
44 |
|
|
collection_datasets = mydb["DATASETS"]
|
45 |
|
|
|
46 |
|
|
dataset_present = collection_datasets.find_one({}, {'name': dataset_name})
|
47 |
|
|
|
48 |
|
|
if dataset_present is None:
|
49 |
|
|
collection_datasets.insert_one({'name': dataset_name})
|
50 |
|
|
|
51 |
|
|
for date in data_dic:
|
52 |
|
|
dataset_collections = mydb[dataset_name]
|
53 |
|
|
dataset_collections.insert_one({'name': dataset_name+date})
|
54 |
|
|
date_dataset = mydb[dataset_name + date]
|
55 |
|
|
date_dataset.insert_many(data_dic[date])
|