Import fix
Change-Id: Ic157c4da3343064655b3925a965cdfab3ada809a
diff --git a/ofagent/protos/third_party/__init__.py b/ofagent/protos/third_party/__init__.py
index e69de29..6dab4e7 100644
--- a/ofagent/protos/third_party/__init__.py
+++ b/ofagent/protos/third_party/__init__.py
@@ -0,0 +1,50 @@
+#
+# Copyright 2016 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+"""
+This helps loading http_pb2 and annotations_pb2.
+Without this, the Python importer will not be able to process the lines:
+from google.api import http_pb2 or
+from google.api import annotations_pb2
+(Without importing these, the protobuf loader will not recognize http options
+in the protobuf definitions.)
+"""
+
+from importlib import import_module
+import os
+import sys
+
+
+class GoogleApiImporter(object):
+
+ def find_module(self, full_name, path=None):
+ if full_name == 'google.api':
+ self.path = [os.path.dirname(__file__)]
+ return self
+
+ def load_module(self, name):
+ if name in sys.modules:
+ return sys.modules[name]
+ full_name = 'ofagent.protos.third_party.' + name
+ import_module(full_name)
+ module = sys.modules[full_name]
+ sys.modules[name] = module
+ return module
+
+
+sys.meta_path.append(GoogleApiImporter())
+from google.api import http_pb2, annotations_pb2
+_ = http_pb2, annotations_pb2
diff --git a/voltha/core/device_model.py b/voltha/core/device_model.py
index 2e39085..3a25e7f 100644
--- a/voltha/core/device_model.py
+++ b/voltha/core/device_model.py
@@ -22,10 +22,8 @@
import structlog
-from voltha.protos.third_party.google import api
-sys.modules['google.api'] = api
-from voltha.protos import openflow_13_pb2 as ofp
from voltha.protos import voltha_pb2
+from voltha.protos import openflow_13_pb2 as ofp
log = structlog.get_logger()
diff --git a/voltha/northbound/grpc/grpc_server.py b/voltha/northbound/grpc/grpc_server.py
index 53eb848..489e0ff 100644
--- a/voltha/northbound/grpc/grpc_server.py
+++ b/voltha/northbound/grpc/grpc_server.py
@@ -16,7 +16,6 @@
"""gRPC server endpoint"""
import os
-import sys
import uuid
from Queue import Queue
from os.path import abspath, basename, dirname, join, walk
diff --git a/voltha/protos/third_party/__init__.py b/voltha/protos/third_party/__init__.py
index 19192c4..0608e8c 100644
--- a/voltha/protos/third_party/__init__.py
+++ b/voltha/protos/third_party/__init__.py
@@ -38,7 +38,7 @@
def load_module(self, name):
if name in sys.modules:
return sys.modules[name]
- full_name = 'chameleon.protos.third_party.' + name
+ full_name = 'voltha.protos.third_party.' + name
import_module(full_name)
module = sys.modules[full_name]
sys.modules[name] = module