Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 2f227a6c

Přidáno uživatelem Tomáš Ballák před více než 3 roky(ů)

Feature Re #8156 show all datasets

Zobrazit rozdíly:

modules/crawler/Utilities/Database/database_loader.py
1 1
from Utilities.Database import database_data_line, database_record_logs
2 2
from Utilities import configure_functions
3
from Utilities.helpers import should_skip
3
from Utilities.helpers import should_skip, detect_change
4 4
import pymongo
5 5
import re
6 6

  
......
24 24
def create_database_connection():
25 25
    """
26 26
    Creates connection to mongoDB
27
    
27

  
28 28
    Returns:
29 29
        Connection to mongoDB
30 30
    """
......
116 116
        config: loaded configuration file of dataset
117 117
    """
118 118
    # collection where are specified aviable datasets
119
    compareKeys = ['display-name',
120
                   'display-color']
119 121
    collection_datasets = database_connection[MONGODB_DATASET_COLLECTION]
120 122

  
121
    dataset_name = config['dataset-name']
122
    display_name = config['display-name']
123

  
124
    query = {'key-name': dataset_name}
123
    query = {'key-name': config['dataset-name']}
125 124

  
126 125
    # check if newly added data already have a dataset specified in collection
127
    dataset_present = collection_datasets.find_one(query)
126
    current_dataset = collection_datasets.find_one(query)
128 127

  
129
    if dataset_present is None:
128
    if current_dataset is None:
130 129
        collection_datasets.insert_one({
131
            'key-name': dataset_name,
132
            'display-name': display_name,
130
            'key-name': config['dataset-name'],
131
            'display-name': config['display-name'],
132
            'display-color': config['display-color'],
133 133
            'updated': 0
134 134
        })
135
    elif dataset_present['display-name'] != display_name:
136
        newvalues = {"$set": {'display-name': display_name}}
137
        collection_datasets.update_one(query, newvalues)
135
    elif detect_change(current_dataset, config, compareKeys):
136
        newVal = {}
137
        for key in compareKeys:
138
            newVal[key] = config[key]
139
        collection_datasets.update_one(query, {"$set": newVal})
138 140

  
139 141

  
140 142
def update_devices_collection(config):
......
252 254
            mydb[name].drop()
253 255
            print("Dropping: " + name)
254 256

  
255
    database_record_logs.reset_ignore_set_loaded(dataset_name)
257
    database_record_logs.reset_ignore_set_loaded(dataset_name)

Také k dispozici: Unified diff