source: sasmodels/sasmodels/__init__.py @ dc1e729

core_shell_microgelscostrafo411magnetic_modelrelease_v0.94release_v0.95ticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since dc1e729 was dc1e729, checked in by piotr, 8 years ago

data_files() should return all files explicitly

  • Property mode set to 100644
File size: 1.5 KB
Line 
1"""
2sasmodels
3=========
4
5**sasmodels** is a package containing models for small angle neutron and xray
6scattering.  Models supported are the one dimensional circular average and
7two dimensional oriented patterns.  As well as the form factor calculations
8for the individual shapes **sasmodels** also provides automatic shape
9polydispersity, angular dispersion and resolution convolution.  SESANS
10patterns can be computed for any model.
11
12Models can be written in python or in C.  C models can run on the GPU if
13OpenCL drivers are available.  See :mod:`generate` for details on
14defining new models.
15"""
16__version__ = "0.9"
17
18def data_files():
19    """
20    Return the data files to be installed with the package.
21
22    The format is a list of (directory, [files...]) pairs which can be
23    used directly in setup(...,data_files=...) for setup.py.
24    """
25    from os.path import join as joinpath
26    from .generate import SIBLING_DIR, DATA_PATH
27    data_files = {}
28    def add_patterns(path, patterns):
29        data_files[joinpath(SIBLING_DIR, *path)] \
30            = [joinpath(DATA_PATH, *(path+[p])) for p in patterns]
31    add_patterns([], ['*.c', '*.cl', 'convert.json'])
32    add_patterns(['models'], ['*.c'])
33    add_patterns(['models', 'lib'], ['*.c'])
34
35    # Fish out full paths for all files.
36    import glob
37    return_list=[]
38    for key, values in data_files.iteritems():
39        files_data=[]
40        for value in values:
41            files_data += [file for file in glob.glob(value)]
42        return_list.append([key, files_data])
43    return return_list
44
45
Note: See TracBrowser for help on using the repository browser.