annotate mygenpath.m @ 9:4ea6619cb3f5 tip

removed log files
author matthiasm
date Fri, 11 Apr 2014 15:55:11 +0100
parents 4182672fd6f8
children
rev   line source
Chris@0 1 function p = mygenpath(d,varargin)
Chris@0 2 %GENPATH Generate recursive toolbox path.
Chris@0 3 % P = GENPATH returns a new path string by adding
Chris@0 4 % all the subdirectories of MATLABROOT/toolbox, including empty
Chris@0 5 % subdirectories.
Chris@0 6 %
Chris@0 7 % P = GENPATH(D) returns a path string starting in D, plus, recursively, all
Chris@0 8 % the subdirectories of D, including empty subdirectories.
Chris@0 9 %
Chris@0 10 % NOTE: GENPATH will not exactly recreate the original MATLAB path.
Chris@0 11 %
Chris@0 12 % See also PATH, ADDPATH, RMPATH, SAVEPATH.
Chris@0 13
Chris@0 14 % Copyright 1984-2006 The MathWorks, Inc.
Chris@0 15 % $Revision: 1.13.4.4 $ $Date: 2006/10/14 12:24:02 $
Chris@0 16 %------------------------------------------------------------------------------
Chris@0 17
Chris@0 18 if nargin==0,
Chris@0 19 p = genpath(fullfile(matlabroot,'toolbox'));
Chris@0 20 if length(p) > 1, p(end) = []; end % Remove trailing pathsep
Chris@0 21 return
Chris@0 22 end
Chris@0 23 if nargin==1
Chris@0 24 pat = 'imporobablepatternthisis';
Chris@0 25 else
Chris@0 26 pat = varargin{1};
Chris@0 27 end
Chris@0 28 % initialise variables
Chris@0 29 methodsep = '@'; % qualifier for overloaded method directories
Chris@0 30 p = ''; % path to be returned
Chris@0 31
Chris@0 32 % Generate path based on given root directory
Chris@0 33 files = dir(d);
Chris@0 34 if isempty(files)
Chris@0 35 return
Chris@0 36 end
Chris@0 37
Chris@0 38 % Add d to the path even if it is empty.
Chris@0 39 p = [p d pathsep];
Chris@0 40
Chris@0 41 % set logical vector for subdirectory entries in d
Chris@0 42 isdir = logical(cat(1,files.isdir));
Chris@0 43 %
Chris@0 44 % Recursively descend through directories which are neither
Chris@0 45 % private nor "class" directories.
Chris@0 46 %
Chris@0 47 dirs = files(isdir); % select only directory entries from the current listing
Chris@0 48
Chris@0 49 for i=1:length(dirs)
Chris@0 50 dirname = dirs(i).name;
Chris@0 51 if ~strcmp( dirname,'.') && ...
Chris@0 52 ~strcmp( dirname,'..') && ...
Chris@0 53 ~strncmp( dirname,methodsep,1) && ...
Chris@0 54 ~strcmp( dirname,'private') && ...
Chris@0 55 isempty(regexp(dirname,'svn','ONCE')) && ...
Chris@0 56 isempty(regexp(dirname, pat,'ONCE'))
Chris@0 57 p = [p genpath(fullfile(d,dirname))]; % recursive calling of this function.
Chris@0 58 end
Chris@0 59 end
Chris@0 60
Chris@0 61 %------------------------------------------------------------------------------