blob: 9f48b4c499ad4ff4b972721902976083e9d99600 [file] [log] [blame]
Khen Nursimulua7b842a2016-12-03 23:28:42 -05001#!/usr/bin/env python
2#
Khen Nursimuluc9ef7c12017-01-04 20:40:53 -05003# Copyright 2017 the original author or authors.
Khen Nursimulua7b842a2016-12-03 23:28:42 -05004#
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
Khen Nursimulua7b842a2016-12-03 23:28:42 -050025class Rpc(object):
Khen Nursimulu8ffb8932017-01-26 13:40:49 -050026 def __init__(self, request_dict, request_xml, grpc_client, session,
27 capabilities):
Khen Nursimuluc9ef7c12017-01-04 20:40:53 -050028 self.request = request_dict
29 self.request_xml = request_xml
Khen Nursimulu8ffb8932017-01-26 13:40:49 -050030 self.rpc_response = RpcResponse(capabilities)
31 self.grpc_client = grpc_client
Khen Nursimulua7b842a2016-12-03 23:28:42 -050032 self.session = session
Khen Nursimulu8ffb8932017-01-26 13:40:49 -050033 self.capabilities = capabilities
Khen Nursimulu7626ce12016-12-21 11:51:46 -050034
Khen Nursimulua7b842a2016-12-03 23:28:42 -050035 def execute(self):
36 """ run the command - returns a OperationResponse """
37 pass
38
39 def set_rpc_response(self):
40 self.rpc_response = RpcResponse()
41
42 def _validate_parameters(self, rpc_request):
43 """Sets and validates the node as well"""
44 pass
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050045
46 def get_root_element(self, xml_msg):
47 tree = etree.parse(io.BytesIO(xml_msg))
48 return tree.getroot()