summaryrefslogtreecommitdiffstats
path: root/conductor/conductor/solver/rest/latency_data_loader.py
blob: c148b6b61857754fd47ee7ce4c4ec2ac83c22933 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#
# -------------------------------------------------------------------------
#   Copyright (c) 2015-2018 AT&T Intellectual Property
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
#
# -------------------------------------------------------------------------
#

import collections
import json

from conductor.common import db_backend


class LatencyDataLoader(object):

    def __init__(self):
        music = db_backend.get_client()
        print("Music version %s" % music.version())

    # load data into region place holder
    def load_into_rph(self, json_data):
        datamap = collections.OrderedDict()
        group_map = collections.OrderedDict()
        datamap = json.loads(json_data)

        # for i, j in enumerate(datamap):
        #    group_map[j['group']] = j['countries']

        music = db_backend.get_client()

        # for row in group_map:
        #   music.row_create()

        kwargs = {'keyspace': 'conductor_inam', 'table': 'region_placeholders', 'pk_name': 'id'}
        for row in enumerate(datamap):
            kwargs['pk_value'] = id()
            kwargs['values'] = {'region_name': row['group'], 'countries': row['countries']}
            music.row_create(**kwargs)

        print(group_map)

    def load_into_country_letancy(self, json_data):
        datamap = collections.OrderedDict()
        group_map = collections.OrderedDict()
        datamap = json.loads(json_data)

        # for i, j in enumerate(datamap):
        #    group_map[j['group']] = j['countries']

        music = db_backend.get_client()

        # for row in group_map:
        #   music.row_create()

        kwargs = {'keyspace': 'conductor_inam', 'table': 'country_latency', 'pk_name': 'id'}
        for row in enumerate(datamap):
            kwargs['pk_value'] = id()
            kwargs['values'] = {'country_name': row['country_name'], 'groups': row['groups']}
            music.row_create(**kwargs)

        print(group_map)

# json_string = '[{"group": "EMEA-CORE1",  "countries" : "FRA|DEU|NLD|GBR1"},' \
#              '{"group": "EMEA-CORE2",  "countries" : "FRA|DEU|NLD|GBR2"},' \
#              '{"group": "EMEA-CORE3",  "countries" : "FRA|DEU|NLD|GBR3"},' \
#              '{"group": "EMEA-CORE4",  "countries" : "FRA|DEU|NLD|GBR4"}]'

# test = LatencyDataLoader()
# test.parseJSON(json_string)