ATOMS: cosmetic
[scilab.git] / scilab / modules / atoms / macros / atoms_internals / atomsGetInstalledVers.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 // Liste des versions installĂ©e de la toolbox "name"
13
14 function res = atomsGetInstalledVers(name,section)
15         
16         rhs = argn(2);
17         
18         // Check number of input arguments
19         // =========================================================================
20         
21         if rhs < 1 | rhs > 2 then
22                 error(msprintf(gettext("%s: Wrong number of input argument: %d to %d expected.\n"),"atomsGetInstalledVers",1,2));
23         end
24         
25         // Check input parameters type
26         // =========================================================================
27         
28         if type(name) <> 10 then
29                 error(msprintf(gettext("%s: Wrong type for input argument #%d: A Single String expected.\n"),"atomsGetInstalledVers",1));
30         end
31         
32         if size(name,"*") <> 1 then
33                 error(msprintf(gettext("%s: Wrong size for input argument #%d: A Single String expected.\n"),"atomsGetInstalledVers",1));
34         end
35         
36         // Allusers/user management
37         // =========================================================================
38         
39         if rhs <= 1 then
40                 section = "all";
41         
42         else
43                 
44                 // Process the 2nd input argument : section
45                 // Allusers can be a boolean or equal to "user" or "allusers"
46                 
47                 if type(section) <> 10 then
48                         error(msprintf(gettext("%s: Wrong type for input argument #%d: A boolean or a single string expected.\n"),"atomsGetInstalledVers",2));
49                 end
50                 
51                 if and(section<>["user","allusers","all"]) then
52                         error(msprintf(gettext("%s: Wrong value for input argument #%d: ''user'' or ''allusers'' or ''all'' expected.\n"),"atomsGetInstalledVers",2));
53                 end
54                 
55         end
56         
57         // Get the list of installed packages
58         // =========================================================================
59         packages = atomsGetInstalled(section);
60         
61         // Filter on names
62         // =========================================================================
63         res = packages(find(packages(:,1) == name),2);
64         
65         // Descending Sort 
66         // =========================================================================
67         res = atomsVersionSort( res , "DESC" );
68         
69 endfunction