1 # Copyright 2017-2018 Sandvine
2 # Copyright 2018 Telefonica
6 # Licensed under the Apache License, Version 2.0 (the "License"); you may
7 # not use this file except in compliance with the License. You may obtain
8 # a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 # License for the specific language governing permissions and limitations
19 OSM client entry point
22 from osmclient
.sol005
import client
as sol005client
26 # pylint: disable=E1101
30 def Client(version
=1, host
=None, *args
, **kwargs
):
31 log_format_simple
= "%(levelname)s %(message)s"
32 log_format_complete
= "%(asctime)s %(levelname)s %(name)s %(filename)s:%(lineno)s %(funcName)s(): %(message)s"
33 log_formatter_simple
= logging
.Formatter(
34 log_format_simple
, datefmt
="%Y-%m-%dT%H:%M:%S"
36 handler
= logging
.StreamHandler()
37 handler
.setFormatter(log_formatter_simple
)
38 logger
= logging
.getLogger("osmclient")
39 logger
.setLevel(level
=logging
.WARNING
)
40 logger
.addHandler(handler
)
41 verbose
= kwargs
.get("verbose", 0)
43 log_formatter
= logging
.Formatter(
44 log_format_complete
, datefmt
="%Y-%m-%dT%H:%M:%S"
46 # handler = logging.StreamHandler()
47 handler
.setFormatter(log_formatter
)
48 # logger.addHandler(handler)
50 logger
.setLevel(level
=logging
.INFO
)
52 logger
.setLevel(level
=logging
.VERBOSE
)
54 logger
.setLevel(level
=logging
.DEBUG
)
56 return sol005client
.Client(host
, *args
, **kwargs
)
58 raise Exception("Unsupported client version")