bug559 some modifications
[osm/common.git] / osm_common / msgbase.py
index a9d44d7..0a15dae 100644 (file)
@@ -1,5 +1,20 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Telefonica S.A.
+#
+# 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.
 
-# import asyncio
 from http import HTTPStatus
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
@@ -10,7 +25,7 @@ class MsgException(Exception):
     Base Exception class for all msgXXXX exceptions
     """
 
-    def __init__(self, message, http_code=HTTPStatus.INTERNAL_SERVER_ERROR):
+    def __init__(self, message, http_code=HTTPStatus.SERVICE_UNAVAILABLE):
         """
         General exception
         :param message:  descriptive text
@@ -35,13 +50,13 @@ class MsgBase(object):
         pass
 
     def write(self, topic, key, msg):
-        pass
+        raise MsgException("Method 'write' not implemented", http_code=HTTPStatus.INTERNAL_SERVER_ERROR)
 
     def read(self, topic):
-        pass
+        raise MsgException("Method 'read' not implemented", http_code=HTTPStatus.INTERNAL_SERVER_ERROR)
 
-    async def aiowrite(self, topic, key, msg, loop):
-        pass
+    async def aiowrite(self, topic, key, msg, loop=None):
+        raise MsgException("Method 'aiowrite' not implemented", http_code=HTTPStatus.INTERNAL_SERVER_ERROR)
 
-    async def aioread(self, topic, loop):
-        pass
+    async def aioread(self, topic, loop=None, callback=None, aiocallback=None, **kwargs):
+        raise MsgException("Method 'aioread' not implemented", http_code=HTTPStatus.INTERNAL_SERVER_ERROR)