source: MML/trunk/mml/getmachinelist.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 11 years ago

Initial import--MML version from SOLEIL@2013

File size: 2.0 KB
Line 
1function [MachineList, SubMachineList] = getmachinelist(varargin)
2%GETMACHINELIST - Returns a cell array list of accelerators available to the Accelerator Control Toolbox (ACT)
3%  [MachineList, SubMachineList] = getmachinelist
4%
5%  Written by Greg Portmann
6
7
8MMLROOT = [getmmlroot, 'machine'];
9
10DirStart = pwd;
11cd(MMLROOT)
12
13DirStruct = dir;
14
15MachineList = {};
16for i = 3:length(DirStruct)
17    MachineList{i-2,1} = DirStruct(i).name;
18end
19
20if ismac
21    % Remove .DS_Store Directory
22    MachineList = findkeyword(MachineList, '.DS_Store');
23end
24
25
26%if nargout >= 2
27    SubMachineList = {};
28    for i = 1:length(MachineList)
29        cd(MachineList{i});
30        DirStruct = dir;
31        k = 0;
32        for j = 3:length(DirStruct)
33            if     length(DirStruct(j).name) >=  7 && strcmpi(DirStruct(j).name(end-6:end),  'OpsData')
34            elseif length(DirStruct(j).name) >=  4 && strcmpi(DirStruct(j).name(end-3:end),  'Data')
35            elseif length(DirStruct(j).name) >= 11 && strcmpi(DirStruct(j).name(end-10:end), 'Application')
36            elseif length(DirStruct(j).name) >= 12 && strcmpi(DirStruct(j).name(end-11:end), 'Applications')
37            elseif length(DirStruct(j).name) >=  6 && strcmpi(DirStruct(j).name(end-5:end),  'common')
38            elseif length(DirStruct(j).name) >=  8 && strcmpi(DirStruct(j).name(end-7:end),  'doc_html')
39            elseif length(DirStruct(j).name) >=  4 && strcmpi(DirStruct(j).name(end-3:end),  'docs')
40            elseif length(DirStruct(j).name) >=  3 && strcmpi(DirStruct(j).name(end-2:end),  'doc')
41            elseif length(DirStruct(j).name) >=  6 && strcmpi(DirStruct(j).name(end-5:end),  'Sussix')
42            else
43                k = k + 1;
44                SubMachineList{i}{k} = DirStruct(j).name;
45            end
46        end
47        cd ..
48    end
49%end
50
51% Remove machines that do not have a SubMachine list
52for i = length(MachineList):-1:1
53    if isempty(SubMachineList{i})
54        MachineList(i) = [];
55        SubMachineList(i) = [];
56    end
57end
58
59
60cd(DirStart);
Note: See TracBrowser for help on using the repository browser.