default for get_roles in the accessors factory is all_roles
[plcapi.git] / PLC / Methods / GetIlinks.py
1 #
2 # Thierry Parmentelat - INRIA
3 #
4 from PLC.Faults import *
5 from PLC.Method import Method
6 from PLC.Parameter import Parameter, Mixed
7 from PLC.Filter import Filter
8 from PLC.Auth import Auth
9
10 from PLC.Ilinks import Ilink, Ilinks
11 from PLC.Sites import Site, Sites
12 from PLC.Nodes import Node, Nodes
13
14 class GetIlinks(Method):
15     """
16     Returns an array of structs containing details about
17     nodes and related tags.
18
19     If ilink_filter is specified and is an array of
20     ilink identifiers, only ilinks matching
21     the filter will be returned. If return_fields is specified, only
22     the specified details will be returned.
23     """
24
25     roles = ['admin', 'pi', 'user', 'node']
26
27     accepts = [
28         Auth(),
29         Mixed([Ilink.fields['ilink_id']],
30               Parameter(int,"ilink id"),
31               Filter(Ilink.fields)),
32         Parameter([str], "List of fields to return", nullok = True)
33         ]
34
35     returns = [Ilink.fields]
36
37
38     def call(self, auth, ilink_filter = None, return_fields = None):
39
40         ilinks = Ilinks(self.api, ilink_filter, return_fields)
41
42         return ilinks