Merge remote-tracking branch 'origin/pycurl' into planetlab-4_0-branch
[plcapi.git] / trunk / PLC / Methods / AdmQueryConfFile.py
1 from PLC.Faults import *
2 from PLC.Method import Method
3 from PLC.Parameter import Parameter, Mixed
4 from PLC.Nodes import Node, Nodes
5 from PLC.ConfFiles import ConfFile, ConfFiles
6 from PLC.Auth import Auth
7
8 class AdmQueryConfFile(Method):
9     """
10     Deprecated. See GetConfFiles.
11     """
12
13     status = "deprecated"
14
15     roles = ['admin', 'pi', 'user', 'tech']
16
17     accepts = [
18         Auth(),
19         {'node_id': Node.fields['node_id']}
20         ]
21
22     returns = [ConfFile.fields['conf_file_id']]
23
24     def call(self, auth, search_vals):
25         if 'node_id' in search_vals:
26             conf_files = ConfFiles(self.api)
27
28             conf_files = filter(lambda conf_file: \
29                                 search_vals['node_id'] in conf_file['node_ids'],
30                                 conf_files)
31
32             if conf_files:
33                 return [conf_file['conf_file_id'] for conf_file in conf_files]
34
35         return []