blob: fb35313277b5f3cb60984bd35fb82e047914fe66 [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 Nursimulue0d53f82016-12-14 11:05:44 -080025 def __init__(self,rpc_request, rpc_method, voltha_method_ref,
26 grpc_client, session):
Khen Nursimulua7b842a2016-12-03 23:28:42 -050027 self.rpc_request = rpc_request
28 self.rpc_method = rpc_method
29 self.rpc_response = RpcResponse()
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -050030 self.grpc_client = grpc_client
Khen Nursimulue0d53f82016-12-14 11:05:44 -080031 self.voltha_method_ref = voltha_method_ref
Khen Nursimulua7b842a2016-12-03 23:28:42 -050032 self.session = session
33
34 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