ATOMS: cosmetic
[scilab.git] / scilab / modules / atoms / macros / atoms_internals / atomsRepositorySetOfl.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // Internal function
11
12 // Add an URL to the list of repositories, and returns
13
14 function atomsRepositorySetOfl(url)
15         
16         
17         
18         
19         // Check number of input arguments
20         // =========================================================================
21         rhs = argn(2);
22         if rhs <> 1 then
23                 error(msprintf(gettext("%s: Wrong number of input argument: %d to %d expected.\n"),"atomsRepositorySetOfl",1));
24         end
25         
26         // Check URLs specified as first input argument
27         // =========================================================================
28         
29         if type(url) <> 10 then
30                 error(msprintf(gettext("%s: Wrong type for input argument #%d: Single String expected.\n"),"atomsRepositorySetOfl",1));
31         end
32         
33         if size(url,"*") <> 1 then
34                 error(msprintf(gettext("%s: Wrong size for input argument #%d: Single String expected.\n"),"atomsRepositorySetOfl",1));
35         end
36         
37         valid_url_pattern    = "/^((((H|h)(T|t)|(F|f))(T|t)(P|p)((S|s)?))\:\/\/)?(www.|[a-zA-Z0-9].)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,6}(\:[0-9]{1,5})*(\/($|[a-zA-Z0-9\.\,\;\?\''\\\+&amp;%\$#\=~_\-]+))*$/";
38         
39         if ~ regexp(url,valid_url_pattern,"o") == 1 then
40                 error(msprintf(gettext("%s: Wrong value for input argument #%d: ''%s'' is not a valid URL.\n"),"atomsRepositorySetOfl",1,url));
41         end
42         
43         // Overwrite "repositories" file
44         // =========================================================================
45         mputl(url,pathconvert(SCI+"/modules/atoms/etc/repositories",%F));
46         
47 endfunction