--- /dev/null
+from PLC.Faults import *
+from PLC.Method import Method
+from PLC.Parameter import Parameter, Mixed
+from PLC.Sites import Site, Sites
+from PLC.Auth import Auth
+
+class AdmGetSiteNodes(Method):
+ """
+ Deprecated. See GetSites.
+
+ Return a struct containing an array of node_ids for each of the
+ sites specified. Note that the keys of the struct are strings, not
+ integers, because of XML-RPC marshalling limitations.
+
+ Admins may retrieve details about all nodes on a site by not specifying
+ site_id_or_name or by specifying an empty list. Users and
+ techs may only retrieve details about themselves. PIs may retrieve
+ details about themselves and others at their sites.
+ """
+
+ status = "deprecated"
+
+ roles = ['admin', 'pi', 'user', 'tech']
+
+ accepts = [
+ Auth(),
+ [Mixed(Site.fields['site_id'],
+ Site.fields['name'])],
+ ]
+
+ returns = dict
+
+ def call(self, auth, site_id_or_name_list = None):
+ # Get site information
+ sites = Sites(self.api, site_id_or_name_list)
+ if not sites:
+ raise PLCInvalidArgument, "No such site"
+
+ # Convert to {str(site_id): [node_id]}
+ site_nodes = {}
+ for site in sites:
+ site_nodes[str(site['site_id'])] = site['node_ids']
+
+ return site_nodes