Changeset 4d76711 in sasmodels for sasmodels/generate.py


Ignore:
Timestamp:
Apr 5, 2016 10:33:44 AM (8 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
3a45c2c, c4e7a5f
Parents:
cd0a808
Message:

adjust interface to sasview

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/generate.py

    rf247314 r4d76711  
    204204from __future__ import print_function 
    205205 
    206 # TODO: identify model files which have changed since loading and reload them. 
     206#TODO: identify model files which have changed since loading and reload them. 
     207#TODO: determine which functions are useful outside of generate 
     208#__all__ = ["model_info", "make_doc", "make_source", "convert_type"] 
    207209 
    208210import sys 
     
    216218import numpy as np 
    217219 
     220from .custom import load_custom_kernel_module 
     221 
    218222PARAMETER_FIELDS = ['name', 'units', 'default', 'limits', 'type', 'description'] 
    219223Parameter = namedtuple('Parameter', PARAMETER_FIELDS) 
    220  
    221 #TODO: determine which functions are useful outside of generate 
    222 #__all__ = ["model_info", "make_doc", "make_source", "convert_type"] 
    223224 
    224225C_KERNEL_TEMPLATE_PATH = joinpath(dirname(__file__), 'kernel_template.c') 
     
    644645        model_info['demo'] = model_info['defaults'] 
    645646    model_info['has_2d'] = partype['orientation'] or partype['magnetic'] 
     647 
     648 
     649def load_kernel_module(model_name): 
     650    if model_name.endswith('.py'): 
     651        kernel_module = load_custom_kernel_module(model_name) 
     652    else: 
     653        from sasmodels import models 
     654        __import__('sasmodels.models.'+model_name) 
     655        kernel_module = getattr(models, model_name, None) 
     656    return kernel_module 
     657 
    646658 
    647659def make_model_info(kernel_module): 
     
    769781 
    770782 
    771  
    772783def demo_time(): 
    773784    """ 
     
    789800    else: 
    790801        name = sys.argv[1] 
    791         import sasmodels.models 
    792         __import__('sasmodels.models.' + name) 
    793         model = getattr(sasmodels.models, name) 
    794         model_info = make_model_info(model) 
     802        kernel_module = load_kernel_module(name) 
     803        model_info = make_model_info(kernel_module) 
    795804        source = make_source(model_info) 
    796805        print(source) 
Note: See TracChangeset for help on using the changeset viewer.