blob: bafc58e9cf1cf7843b30889ad1b74e8d1e0d1339 [file] [log] [blame]
Khen Nursimulua7b842a2016-12-03 23:28:42 -05001#!/usr/bin/env python
2#
3# Copyright 2016 the original author or authors.
4#
5# Code adapted from https://github.com/choppsv1/netconf
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18#
19
20from rpc_response import RpcResponse
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050021from lxml import etree
22import io
Khen Nursimulua7b842a2016-12-03 23:28:42 -050023
Khen Nursimulua4972742016-12-23 17:15:20 -050024
25
Khen Nursimulua7b842a2016-12-03 23:28:42 -050026class Rpc(object):
Khen Nursimulua4972742016-12-23 17:15:20 -050027 def __init__(self, request, grpc_client, session):
28 self.request = request
Khen Nursimulua7b842a2016-12-03 23:28:42 -050029 self.rpc_response = RpcResponse()
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050030 self.grpc_client = grpc_client
Khen Nursimulua7b842a2016-12-03 23:28:42 -050031 self.session = session
32
Khen Nursimulu7626ce12016-12-21 11:51:46 -050033
Khen Nursimulua7b842a2016-12-03 23:28:42 -050034 def execute(self):
35 """ run the command - returns a OperationResponse """
36 pass
37
38 def set_rpc_response(self):
39 self.rpc_response = RpcResponse()
40
41 def _validate_parameters(self, rpc_request):
42 """Sets and validates the node as well"""
43 pass
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050044
45 def get_root_element(self, xml_msg):
46 tree = etree.parse(io.BytesIO(xml_msg))
47 return tree.getroot()
48