Ejemplo n.º 1
0
def _getModuleList(moduleDir):
    moduleNameSet = _getModuleFiles(moduleDir)
    moduleList = []
    PH.addPath(moduleDir)
    for moduleName in moduleNameSet:
        try:
            module = __import__(moduleName, fromlist=[''])
            module and moduleList.append(module)
        except:
            _logger.error('error in _getModuleList: %s', moduleName)
            traceback.print_exc()
            continue
    _logger.info('_getModuleList: %s', str(moduleList))
    return moduleList
Ejemplo n.º 2
0
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.

import PathHelper as PH
PH.addPathes('../')

import inspect
from MarsLog.LogManager import LogManager
from MessageCodec import Md5IndexDecoder
from Utils import ExtendableType

class EntityFactory(object):
    __metaclass__ = ExtendableType
    _instance = None

    def __init__(self):
        self.logger = LogManager.getLogger('Utils.EntityFactory')
        self.entityClasses = {}

    @staticmethod
Ejemplo n.º 3
0
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.

import PathHelper as PH

PH.addPathes("../")

import AsyncIo


def addTimer(delay, func, *args, **kwargs):
    """
        * delay(float): seconds to wait.
        * func(object): callable object to call later.
        * args: arguments to call it with.
        * kwargs: keyword arguments to call it with; a special
          `errCaller` parameter can be passed: it's a callable
          called in case target function raise an exception.

        * return: a timer object can reset or cancel.
    """