+ now = int(time.time())
+ filter={}
+ filter.update({'clip':now})
+ if slice:
+ filter.update({'name':slice['name']})
+ return_fields = ['lease_id', 'hostname', 'site_id', 'name', 't_from', 't_until']
+ leases = self.driver.shell.GetLeases(filter)
+
+ site_ids = []
+ for lease in leases:
+ site_ids.append(lease['site_id'])
+
+ # get sites
+ sites_dict = self.get_sites({'site_id': site_ids})
+
+ rspec_leases = []
+ for lease in leases:
+
+ rspec_lease = Lease()
+
+ # xxx how to retrieve site['login_base']
+ site_id=lease['site_id']
+ site=sites_dict[site_id]
+
+ rspec_lease['lease_id'] = lease['lease_id']
+ rspec_lease['component_id'] = hostname_to_urn(self.driver.hrn, site['login_base'], lease['hostname'])
+ slice_hrn = slicename_to_hrn(self.driver.hrn, lease['name'])
+ slice_urn = hrn_to_urn(slice_hrn, 'slice')
+ rspec_lease['slice_id'] = slice_urn
+ rspec_lease['t_from'] = lease['t_from']
+ rspec_lease['t_until'] = lease['t_until']
+ rspec_leases.append(rspec_lease)
+ return rspec_leases
+
+