当前位置: 首页>>代码示例>>Python>>正文


Python PythonSourceTreeAnalyser.find_inheritors方法代码示例

本文整理汇总了Python中openmdao.util.dep.PythonSourceTreeAnalyser.find_inheritors方法的典型用法代码示例。如果您正苦于以下问题:Python PythonSourceTreeAnalyser.find_inheritors方法的具体用法?Python PythonSourceTreeAnalyser.find_inheritors怎么用?Python PythonSourceTreeAnalyser.find_inheritors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在openmdao.util.dep.PythonSourceTreeAnalyser的用法示例。


在下文中一共展示了PythonSourceTreeAnalyser.find_inheritors方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_PythonSourceTreeAnalyser

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
 def test_PythonSourceTreeAnalyser(self):
     try:
         import openmdao.main
         import openmdao.lib
     except ImportError:
         # don't perform this test if openmdao.main 
         # and openmdao.lib aren't present
         raise SkipTest("this test requires openmdao.main and openmdao.lib")
     
     def exclude_tests(pname):
         parts = pname.split(os.sep)
         return 'test' in parts
     
     startdirs = [os.path.dirname(openmdao.main.__file__), 
                  os.path.dirname(openmdao.lib.__file__)]
     psta = PythonSourceTreeAnalyser(startdirs, exclude_tests)
     
     self.assertTrue('openmdao.main.component.Component' in 
                     psta.graph['openmdao.main.container.Container'])
     self.assertTrue('openmdao.main.assembly.Assembly' in 
                     psta.graph['openmdao.main.component.Component'])
     
     self.assertTrue('openmdao.main.datatypes.float.Float' in
                     psta.graph['openmdao.main.variable.Variable'])
     
     comps = psta.find_inheritors('openmdao.main.component.Component')
     icomps = psta.find_inheritors('IComponent')
     
     self.assertTrue('openmdao.main.assembly.Assembly' in icomps)
     
     comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
     comps.extend(psta.find_inheritors('enthought.traits.api.Array'))
     comps = [x.rsplit('.',1)[1] for x in comps if '.examples.' not in x and '.optproblems.' not in x]
     cset = set(comps)
     excludes = set([
         'Driver',
         'DriverUsesDerivatives',
         'DistributionCaseDriver',
         'CaseIterDriverBase',
         'PassthroughTrait',
         'PassthroughProperty',
         'OptProblem',
         'TraitArray',
         'Broadcast', # utility class for bliss2000
         'SubSystemOpt', # utility class for bliss2000
         'SubSystemObj' # utility class for bliss2000
         ])
     cset = cset - excludes
     
     from openmdao.main.api import get_available_types
     types = set([x[0] for x in get_available_types()])
     types = [x.rsplit('.',1)[1] for x in types if x.startswith('openmdao.')]
     
     tset = set(types)
     noentrypts = cset-tset
     if noentrypts:
         self.fail("the following Components are not registered using entry points: %s" % noentrypts)
开发者ID:cmheath,项目名称:OpenMDAO-Framework,代码行数:59,代码来源:test_dep.py

示例2: test_PythonSourceTreeAnalyser

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
    def test_PythonSourceTreeAnalyser(self):
        def exclude(pname):
            keywords = set(["test", "docs", "examples", "optproblems"])
            parts = set(pname.split(os.sep))
            return keywords.intersection(parts)

        psta = PythonSourceTreeAnalyser(self.startdirs, exclude)

        self.assertTrue("openmdao.main.component.Component" in psta.graph["openmdao.main.container.Container"])
        self.assertTrue("openmdao.main.assembly.Assembly" in psta.graph["openmdao.main.component.Component"])

        self.assertTrue("openmdao.main.datatypes.float.Float" in psta.graph["openmdao.main.variable.Variable"])

        comps = psta.find_inheritors("openmdao.main.component.Component")
        icomps = psta.find_inheritors("IComponent")

        self.assertTrue("openmdao.main.assembly.Assembly" in icomps)

        comps.extend(psta.find_inheritors("openmdao.main.variable.Variable"))
        comps.extend(psta.find_inheritors("enthought.traits.api.Array"))
        comps = [x.rsplit(".", 1)[1] for x in comps]
        # comps = [x.rsplit('.',1)[1] for x in comps if '.examples.' not in x and '.optproblems.' not in x]
        cset = set(comps)
        excludes = set(
            [
                "Driver",
                "DriverUsesDerivatives",
                "DistributionCaseDriver",
                "CaseIterDriverBase",
                "PassthroughTrait",
                "PassthroughProperty",
                "OptProblem",
                "TraitArray",
                "Broadcast",  # utility class for bliss2000
                "SubSystemOpt",  # utility class for bliss2000
                "SubSystemObj",  # utility class for bliss2000
            ]
        )
        cset = cset - excludes

        from openmdao.main.api import get_available_types

        types = set([x[0] for x in get_available_types()])
        types = [x.rsplit(".", 1)[1] for x in types if x.startswith("openmdao.")]

        tset = set(types)
        noentrypts = cset - tset
        if noentrypts:
            self.fail("the following Components are not registered using entry points: %s" % noentrypts)
开发者ID:swryan,项目名称:OpenMDAO-Framework,代码行数:51,代码来源:test_dep.py

示例3: test_PythonSourceTreeAnalyser

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
    def test_PythonSourceTreeAnalyser(self):
       
        skipdirs = set(['test', 'docs', 'examples', 'optproblems',
                        'build', 'dist'])

        psta = PythonSourceTreeAnalyser(self.startdirs, 
                                        direxclude=lambda d: d in skipdirs)
        
        self.assertTrue('openmdao.main.component.Component' in 
                        psta.graph['openmdao.main.container.Container'])
        self.assertTrue('openmdao.main.assembly.Assembly' in 
                        psta.graph['openmdao.main.component.Component'])
        
        self.assertTrue('openmdao.main.datatypes.float.Float' in
                        psta.graph['openmdao.main.variable.Variable'])
        
        comps = psta.find_inheritors('openmdao.main.component.Component')
        icomps = psta.find_inheritors('IComponent')
        
        self.assertTrue('openmdao.main.assembly.Assembly' in icomps)
        
        comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
        comps.extend(psta.find_inheritors('traits.api.Array'))
        comps = [x.rsplit('.',1)[1] for x in comps] 
        cset = set(comps)
        excludes = set([
            'Driver',
            'DriverUsesDerivatives',
            'DistributionCaseDriver',
            'CaseIterDriverBase',
            'PassthroughTrait',
            'PassthroughProperty',
            'OptProblem',
            'TraitArray',
            'Broadcast', # utility class for bliss2000
            'SubSystemOpt', # utility class for bliss2000
            'SubSystemObj' # utility class for bliss2000
            ])
        cset = cset - excludes
        
        from openmdao.main.api import get_available_types
        types = set([x[0] for x in get_available_types()])
        types = [x.rsplit('.',1)[1] for x in types if x.startswith('openmdao.')]
        
        tset = set(types)
        noentrypts = cset-tset
        if noentrypts:
            self.fail("the following Components are not registered using entry points: %s" % noentrypts)
开发者ID:ChanChiChoi,项目名称:OpenMDAO-Framework,代码行数:50,代码来源:test_dep.py

示例4: build_optproblem_list

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
def build_optproblem_list(include=[], exclude=[]):
    """builds a list of optproblems
    
    include: (optional) list of optproblems names
        The names of the optproblems to test. Only optproblems in this list 
        will be tested. Each name should be just the class name (e.g., 'SellarProblem'). 
        Must be set to None, if excludes is specified. If not specified, 
        all OptProblems, except those in exclude are used. 
    
    exclude: (optional) list of optproblems names
        The names of the optproblems not to test. All optproblems from
        openmdao.lib.optproblems will be tested, except for the ones in this 
        list. Each name should just be the class name (e.g. 'SellarProblem'). 
        Must be set to None, if includes is specified. 
    """
    
    if include and exclude: 
        raise ValueError("Can't set both include and exlude for OptProblems")
    
    startdirs = [os.path.dirname(openmdao.lib.optproblems.__file__),
                 os.path.dirname(openmdao.main.__file__)]
    psta = PythonSourceTreeAnalyser(startdirs, os.path.join('*','test','*'))    
    opt_problems = psta.find_inheritors("openmdao.main.problem_formulation.OptProblem")
    
    probs = []
    for prob_name in opt_problems: 
            prob_class = prob_name.split(".")[-1]
            prob_package = ".".join(prob_name.split(".")[:-1])
            if  (not include and not exclude) or (include and prob_class in include) or \
                (exclude and prob_class not in exclude): 
                
                prob_package = __import__(prob_package,globals(),locals(),[prob_class,],-1)
                probs.append(getattr(prob_package,prob_class)()) #create instance of the OptProblem

    return probs
开发者ID:cmheath,项目名称:OpenMDAO-Framework,代码行数:37,代码来源:mdao_test_suite.py

示例5: build_arch_list

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
def build_arch_list(include=[], exclude=[]):
    """Builds a list of architectures.
    
    include: list of architecture names
        The names of the architectures to test. Only architectures in this list 
        will be tested. Each name should be just the class name (e.g. 'MDF', 'CO'). 
        Must be set to None, if excludes is specified
    
    exclude: list of architecture names
        The names of the architectures not to test. All architectures from
        openmdao.lib.architectures will be tested, except for the ones in this 
        list. Each name should be just the class name (e.g., 'MDF', 'CO'). 
        Must be set to None, if includes is specified. 
    """
    
    if include and exclude: 
        raise ValueError("Can't set both include and exlude")
    
    startdirs = [os.path.dirname(openmdao.lib.architectures.__file__),
                 os.path.dirname(openmdao.main.__file__)]
    psta = PythonSourceTreeAnalyser(startdirs, os.path.join('*','test','*'))    
    architectures = psta.find_inheritors("openmdao.main.arch.Architecture")
    archs = []
    for arch_name in architectures: 
            arch_class = arch_name.split(".")[-1]
            arch_package = ".".join(arch_name.split(".")[:-1])
            if  (not include and not exclude) or (include and arch_class in include) or \
                (exclude and arch_class not in exclude): 
                
                arch_package = __import__(arch_package,globals(),locals(),[arch_class,],-1)
                archs.append(getattr(arch_package,arch_class)()) #create instance of the Architecture

    return archs
开发者ID:cmheath,项目名称:OpenMDAO-Framework,代码行数:35,代码来源:mdao_test_suite.py

示例6: _find_all_plugins

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
def _find_all_plugins(searchdir):
    """Return a dict containing lists of each plugin type found, keyed by
    plugin group name, e.g., openmdao.component, openmdao.variable, etc.
    """
    dct = {}
    modnames = ['openmdao.main', 
                'openmdao.lib.datatypes', 
                'openmdao.lib.components',
                'openmdao.lib.drivers',
                'openmdao.lib.surrogatemodels',
                'openmdao.lib.doegenerators',
                'openmdao.lib.differentiators',
                'openmdao.lib.optproblems',
                'openmdao.lib.casehandlers',
                'openmdao.lib.architectures']
    
    modules = []
    for mod in modnames:
        try:
            __import__(mod)
        except ImportError:
            print 'skipping import of %s' % mod
        else:
            modules.append(sys.modules[mod])
            
    dirs = [os.path.dirname(m.__file__) for m in modules]+[searchdir]
    psta = PythonSourceTreeAnalyser(dirs, exclude=_exclude_funct)
    
    for key, val in plugin_groups.items():
        dct[key] = set(psta.find_inheritors(val))

    return dct
开发者ID:fzahle,项目名称:OpenMDAO-Framework,代码行数:34,代码来源:plugin.py

示例7: test_optproblems_solution

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
    def test_optproblems_solution(self):
        # test to make sure that at the specified solution point, the objective
        # values match what is given in the solution

        #find all the optproblems in lib
        startdirs = [os.path.dirname(openmdao.lib.optproblems.__file__),]
        psta = PythonSourceTreeAnalyser(startdirs, os.path.join('*','test','*'))
        opt_problems = psta.find_inheritors("openmdao.main.problem_formulation.OptProblem")

        for prob_name in opt_problems:
            #print "running %s"%prob_name
            prob_class = prob_name.split(".")[-1]
            prob_package = ".".join(prob_name.split(".")[:-1])
            prob_package = __import__(prob_package,globals(),locals(),[prob_class,],-1)

            prob = getattr(prob_package,prob_class)() #create instance of the OptProblem
            prob = set_as_top(prob)

            try:
                prob.check_solution(strict=True)
            except ValueError as err:
                self.fail("There is missing piece of the solution for %s%s"%(prob.__class__,str(err)))

            prob.architecture = OptProblemSolutionCheck()

            prob.run()

            error = prob.check_solution(strict=True)

            self.assertAccuracy(prob_name,error,.001)
开发者ID:FashtimeDotCom,项目名称:OpenMDAO-Framework,代码行数:32,代码来源:test_optproblems_solution.py

示例8: test_PythonSourceTreeAnalyser

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
 def test_PythonSourceTreeAnalyser(self):
     try:
         import openmdao.main
         import openmdao.lib
     except ImportError:
         # don't perform this test if openmdao.main 
         # and openmdao.lib aren't present
         raise SkipTest("this test requires openmdao.main and openmdao.lib")
     startdirs = [os.path.dirname(openmdao.main.__file__), 
                  os.path.dirname(openmdao.lib.__file__)]
     psta = PythonSourceTreeAnalyser(startdirs, os.path.join('*','test','*'))
     
     self.assertTrue('openmdao.main.component.Component' in 
                     psta.graph['openmdao.main.container.Container'])
     self.assertTrue('openmdao.main.assembly.Assembly' in 
                     psta.graph['openmdao.main.component.Component'])
     
     self.assertTrue('openmdao.lib.datatypes.float.Float' in
                     psta.graph['openmdao.main.variable.Variable'])
     
     comps = psta.find_inheritors('openmdao.main.component.Component')
     comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
     comps.extend(psta.find_inheritors('enthought.traits.api.Array'))
     comps = [x.rsplit('.',1)[1] for x in comps]
     comps.remove('Driver')
     comps.remove('DriverUsesDerivatives')
     comps.remove('CaseIterDriverBase')
     comps.remove('PassthroughTrait')
     comps.remove('PassthroughProperty')
     
     from openmdao.main.api import get_available_types
     groups = [ 'openmdao.component',
                'openmdao.driver',
                'openmdao.variable']
     types = set([x[0] for x in get_available_types(groups)])
     types = [x.rsplit('.',1)[1] for x in types if x.startswith('openmdao.')]
     
     cset = set(comps)
     tset = set(types)
     noentrypts = cset-tset
     if noentrypts:
         self.fail("the following Components are not registered using entry points: %s" % noentrypts)
开发者ID:hschilling,项目名称:OpenMDAO-Framework,代码行数:44,代码来源:test_dep.py

示例9: find_all_plugins

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
def find_all_plugins(searchdir):
    """Return a dict containing lists of each plugin type found, keyed by
    plugin group name, e.g., openmdao.component, openmdao.variable, etc.
    """
    dct = {}
    psta = PythonSourceTreeAnalyser(searchdir, exclude=_exclude_funct)

    for key, lst in plugin_groups.items():
        epset = set(psta.find_inheritors(lst[0]))
        if epset:
            dct[key] = epset
    return dct
开发者ID:Daiyu506,项目名称:OpenMDAO-Framework,代码行数:14,代码来源:plugin.py

示例10: _find_all_plugins

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
def _find_all_plugins(searchdir):
    """Return a dict containing lists of each plugin type found, keyed by
    plugin group name, e.g., openmdao.component, openmdao.variable, etc.
    """
    dct = {}
    psta = PythonSourceTreeAnalyser(searchdir)
    
    comps = psta.find_inheritors('openmdao.main.component.Component')
    comps.extend(psta.find_inheritors('openmdao.main.api.Component'))
    comps = set(comps)
    
    drivers = psta.find_inheritors('openmdao.main.driver.Driver')
    drivers.extend(psta.find_inheritors('openmdao.main.api.Driver'))
    drivers = set(drivers)
    
    comps = comps - drivers
    
    dct['openmdao.component'] = comps
    dct['openmdao.driver'] = drivers
    
    variables = psta.find_inheritors('openmdao.main.api.Variable')
    variables.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
    dct['openmdao.variable'] = set(variables)

    return dct
开发者ID:drousis,项目名称:OpenMDAO-Framework,代码行数:27,代码来源:plugin.py

示例11: test_optproblems_solution

# 需要导入模块: from openmdao.util.dep import PythonSourceTreeAnalyser [as 别名]
# 或者: from openmdao.util.dep.PythonSourceTreeAnalyser import find_inheritors [as 别名]
 def test_optproblems_solution(self): 
     
     #find all the optproblems in lib
     startdirs = [os.path.dirname(openmdao.lib.optproblems.__file__),]
     psta = PythonSourceTreeAnalyser(startdirs, os.path.join('*','test','*'))    
     opt_problems = psta.find_inheritors("openmdao.main.problem_formulation.OptProblem")
     
     for prob_name in opt_problems: 
         #print "running %s"%prob_name
         prob_class = prob_name.split(".")[-1]
         prob_package = ".".join(prob_name.split(".")[:-1])
         prob_package = __import__(prob_package,globals(),locals(),[prob_class,],-1)
         
         prob = getattr(prob_package,prob_class)() #create instance of the OptProblem
         prob.architecture = OptProblemSolutionCheck()
         prob.configure()
         
         prob.run()
         
         error = prob.check_solution(strict=True)
             
         self.assertAccuracy(prob_name,error,.001)
开发者ID:OzanCKN,项目名称:OpenMDAO-Framework,代码行数:24,代码来源:test_optproblems_solution.py


注:本文中的openmdao.util.dep.PythonSourceTreeAnalyser.find_inheritors方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。