Commit 647166f2 by user

fixing decorator to use decorator module properly

parent ef7ca318
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
import libvirt import libvirt
import logging import logging
import os import os
import decorator from decorator import decorator
connection = None connection = None
...@@ -18,18 +18,17 @@ state_dict = {0: 'NOSTATE', ...@@ -18,18 +18,17 @@ state_dict = {0: 'NOSTATE',
} }
@decorator.decorator @decorator
def req_connection(original_function): def req_connection(original_function, *args, **kw):
'''Connection checking decorator for libvirt. '''Connection checking decorator for libvirt.
''' '''
def new_function(*args, **kwargs):
logging.debug("Decorator running") logging.debug("Decorator running")
global connection global connection
if connection is None: if connection is None:
connect() connect()
try: try:
logging.debug("Decorator calling original function") logging.debug("Decorator calling original function")
return_value = original_function(*args, **kwargs) return_value = original_function(*args, **kw)
finally: finally:
logging.debug("Finally part of decorator") logging.debug("Finally part of decorator")
disconnect() disconnect()
...@@ -37,9 +36,8 @@ def req_connection(original_function): ...@@ -37,9 +36,8 @@ def req_connection(original_function):
else: else:
logging.debug("Decorator calling original \ logging.debug("Decorator calling original \
function with active connection") function with active connection")
return_value = original_function(*args, **kwargs) return_value = original_function(*args, **kw)
return return_value return return_value
return new_function
def connect(connection_string='qemu:///system'): def connect(connection_string='qemu:///system'):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment