blob: ff9b3037ad09304dcd8a146ec95f96314a651e7e [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
24class Rpc(object):
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050025 def __init__(self,rpc_request, rpc_method, grpc_client, session):
Khen Nursimulua7b842a2016-12-03 23:28:42 -050026 self.rpc_request = rpc_request
27 self.rpc_method = rpc_method
28 self.rpc_response = RpcResponse()
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050029 self.grpc_client = grpc_client
Khen Nursimulua7b842a2016-12-03 23:28:42 -050030 self.session = session
31
32 def execute(self):
33 """ run the command - returns a OperationResponse """
34 pass
35
36 def set_rpc_response(self):
37 self.rpc_response = RpcResponse()
38
39 def _validate_parameters(self, rpc_request):
40 """Sets and validates the node as well"""
41 pass
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050042
43 def get_root_element(self, xml_msg):
44 tree = etree.parse(io.BytesIO(xml_msg))
45 return tree.getroot()
46