blob: 798ed37e3ab6c5b8350700fae9b1e22f9f72e70b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# -*- coding: utf-8 -*-
# pylint: disable=wrong-import-position,global-statement,protected-access
"""
ceph dashboard module
"""
from __future__ import absolute_import
import os
if 'UNITTEST' not in os.environ:
class _LoggerProxy(object):
def __init__(self):
self._logger = None
def __getattr__(self, item):
if self._logger is None:
raise AttributeError("logger not initialized")
return getattr(self._logger, item)
class _ModuleProxy(object):
def __init__(self):
self._mgr = None
def init(self, module_inst):
global logger
self._mgr = module_inst
logger._logger = self._mgr._logger
def __getattr__(self, item):
if self._mgr is None:
raise AttributeError("global manager module instance not initialized")
return getattr(self._mgr, item)
mgr = _ModuleProxy()
logger = _LoggerProxy()
from .module import Module, StandbyModule
else:
import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
logging.root.handlers[0].setLevel(logging.DEBUG)
os.environ['PATH'] = '{}:{}'.format(os.path.abspath('../../../../build/bin'),
os.environ['PATH'])
# Mock ceph module otherwise every module that is involved in a testcase and imports it will
# raise an ImportError
import sys
import mock
sys.modules['ceph_module'] = mock.Mock()
mgr = mock.Mock()
mgr.get_frontend_path.side_effect = lambda: os.path.abspath("./frontend/dist")
|