summaryrefslogtreecommitdiffstats
path: root/conductor/conductor/solver/rest/latency_data_loader.py
blob: d0b7e9d04962cf0b23afecebd3b3d6f7de963b9f (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#
# -------------------------------------------------------------------------
#   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 csv
import collections
import json
from conductor.common.models import  region_placeholders
from conductor.common.music import api


class LatencyDataLoader(object):

    def __init__(self):
        rph = region_placeholders.RegionPlaceholders()
        music = api.API()
        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 = api.API()

         #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 = api.API()

         #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)