Fix some localization issues
[scilab.git] / scilab / modules / atoms / macros / atoms_internals / atomsToolboxDetails.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.1-en.txt
9
10 // Internal function
11
12 // Return the mlist associated with the wanted toolbox
13
14 function details = atomsToolboxDetails(package,field)
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"),"atomsToolboxDetails",1,2));
23     end
24
25     // Check input parameters type
26     // =========================================================================
27
28     if type(package) <> 10 then
29         error(msprintf(gettext("%s: Wrong type for input argument #%d: String array expected.\n"),"atomsToolboxDetails",1));
30     end
31
32     if rhs>1 & type(field)<>10 then
33         error(msprintf(gettext("%s: Wrong type for input argument #%d: Single string expected.\n"),"atomsToolboxDetails",2));
34     end
35
36     // Check input parameters dimensions
37     // =========================================================================
38
39     if or(size(package) <> [1 2]) then
40         error(msprintf(gettext("%s: Wrong size for input argument #%d: 1x2 string matrix expected.\n"),"atomsToolboxDetails",1));
41     end
42
43     if rhs>1 & size(field,"*") <> 1 then
44         error(msprintf(gettext("%s: Wrong size for input argument #%d: Single string expected.\n"),"atomsToolboxDetails",2));
45     end
46
47     // Get the full list of packages
48     // =========================================================================
49
50     allpackages = atomsDESCRIPTIONget();
51
52     name    = package(1);
53     version = package(2);
54
55     if ~ isfield(allpackages,name) then
56         error(msprintf(gettext("%s: the package ''%s'' does not exist.\n"),"atomsToolboxDetails",name));
57     end
58
59     package_versions = allpackages(name);
60
61     if ~ isfield(package_versions,version) then
62         error(msprintf(gettext("%s: the package ''%s'' does not exist.\n"),"atomsToolboxDetails",name+" - "+version));
63     end
64
65     details = package_versions(version);
66
67     // A field is gived :
68     // =========================================================================
69
70     if rhs>=2 then
71
72         if ~ isfield(details,field) then
73             error(msprintf(gettext("%s: the package ''%s'' does not contain the field ''%s''.\n"),"atomsToolboxDetails",name+" - "+version,field));
74         end
75
76         details = details(field);
77
78         return;
79     end
80
81     // Check if this version is installed
82     // =========================================================================
83
84     if atomsIsInstalled([name version]) then
85
86         installedDetails          = atomsGetInstalledDetails(package);
87         details("Version")        = installedDetails(2);
88         details("installAlluser") = installedDetails(3);
89         details("installPath")    = installedDetails(4);
90         details("installStatus")  = installedDetails(5);
91
92     end
93
94 endfunction