- installed packages and dependencies are now saved into binary files
[scilab.git] / scilab / modules / atoms / macros / atomsRepositories.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 // get the list of repositories
11
12 function repositories = atomsRepositories(level)
13         
14         rhs           = argn(2);
15         repositories  = [];
16         
17         // Check number of input arguments
18         // =========================================================================
19         
20         if rhs > 1 then
21                 error(msprintf(gettext("%s: Wrong number of input argument: %d to %d expected.\n"),"atomsRepositories",0,1));
22         end
23         
24         // Check input argument type (if any)
25         // =========================================================================
26         
27         if (rhs==1) & (type(level) <> 10) then
28                 error(msprintf(gettext("%s: Wrong type for input argument #%d: Single string expected.\n"),"atomsRepositories",1));
29         end
30         
31         // Check input argument dimension (if any)
32         // =========================================================================
33         
34         if (rhs==1) & (size(level,"*")<>1) then
35                 error(msprintf(gettext("%s: Wrong size for input argument #%d: Single string expected.\n"),"atomsRepositories",1));
36         end
37         
38         // Check input argument values (if any)
39         // =========================================================================
40         
41         if (rhs==1) & (and(level<>["user","allusers","official"])) then
42                 error(msprintf(gettext("%s: Wrong value for input argument #%d: ''user'',''allusers'' or ''official'' expected.\n"),"atomsRepositories",1));
43         end
44         
45         // Define the needed paths
46         // =========================================================================
47         
48         official_repositories = pathconvert(SCI+"/modules/atoms/etc/repositories",%F);
49         allusers_repositories = pathconvert(SCI+"/.atoms/repositories",%F);
50         user_repositories     = pathconvert(SCIHOME+"/atoms/repositories",%F);
51         
52         // official repositories
53         // =========================================================================
54         
55         if (rhs == 0) | ((rhs == 1) & (level == "official")) then
56                 if fileinfo(official_repositories) <> [] then
57                         url_list = mgetl(official_repositories);
58                         for i=1:size(url_list,"*")
59                                 repositories = [ repositories ; url_list(i)  "official" ];
60                         end
61                 end
62         end
63         
64         // All users repositories
65         // =========================================================================
66         
67         if (rhs == 0) | ((rhs == 1) & (level == "allusers")) then
68                 if fileinfo(allusers_repositories) <> [] then
69                         url_list = mgetl(allusers_repositories);
70                         for i=1:size(url_list,"*")
71                                 repositories = [ repositories ; url_list(i)  "allusers" ];
72                         end
73                 end
74         end
75         
76         // User repositories
77         // =========================================================================
78         
79         if (rhs == 0) | ((rhs == 1) & (level == "user")) then
80                 if fileinfo(user_repositories) <> [] then
81                         url_list = mgetl(user_repositories);
82                         for i=1:size(url_list,"*")
83                                 repositories = [ repositories ; url_list(i)  "user" ];
84                         end
85                 end
86         end
87         
88 endfunction