コード例 #1
0
ファイル: formation.py プロジェクト: purnendu15/spyglass
    def _get_site_id_by_name(self, site_name):
        if site_name in self.site_name_id_mapping:
            return self.site_name_id_mapping.get(site_name)

        site_api = formation_client.SitesApi(self.formation_api_client)
        sites = site_api.sites_get()
        for site in sites:
            self.site_name_id_mapping[site.name] = site.id
            if site.name == site_name:
                return site.id
コード例 #2
0
ファイル: formation.py プロジェクト: purnendu15/spyglass
    def _get_site_by_zone_name(self, zone_name):
        site_api = formation_client.SitesApi(self.formation_api_client)
        sites = site_api.sites_get()

        # Walk through each site and get zones
        # Return when site name matches
        for site in sites:
            self.site_name_id_mapping[site.name] = site.id
            site_zones = self.get_zones(site.name)
            if zone_name in site_zones:
                return site.name

        return None
コード例 #3
0
ファイル: formation.py プロジェクト: purnendu15/spyglass
    def get_location_information(self, region):
        """ get location information for a zone and return """
        site = self.region_zone_map[region]['site']
        site_id = self._get_site_id_by_name(site)
        site_api = formation_client.SitesApi(self.formation_api_client)
        site_info = site_api.sites_site_id_get(site_id)

        try:
            return {
                # 'corridor': site_info.corridor,
                'name': site_info.city,
                'state': site_info.state,
                'country': site_info.country,
                'physical_location_id': site_info.clli,
            }
        except AttributeError as e:
            raise MissingAttributeError('Missing {} information in {}'.format(
                e, site_info.city))