blob: 94b80616dff10e0a94c09a0cfa9274d94b756f4c [file] [log] [blame]
Matteo Scandolof0441032017-08-08 13:05:26 -07001
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16
Scott Bakerb63ea792016-08-11 10:24:48 -070017from xos.logger import Logger, logging, logger
18
Matteo Scandoloceccb1f2017-06-05 10:35:44 -070019
Scott Bakerb63ea792016-08-11 10:24:48 -070020class ErrorMapper:
Matteo Scandoloceccb1f2017-06-05 10:35:44 -070021 def __init__(self, error_map_file):
22 self.error_map = {}
23 try:
24 error_map_lines = open(error_map_file).read().splitlines()
25 for l in error_map_lines:
26 if (not l.startswith('#')):
27 splits = l.split('->')
28 k, v = map(lambda i: i.rstrip(), splits)
29 self.error_map[k] = v
30 except:
31 logging.info('Could not read error map')
Scott Bakerb63ea792016-08-11 10:24:48 -070032
Matteo Scandoloceccb1f2017-06-05 10:35:44 -070033 def map(self, error):
34 return self.error_map[error]