コード例 #1
0
 def _exists_resource(
         self, collection: discovery.Resource, filter: str) -> bool:  # pylint: disable=redefined-builtin
     resp = collection.list(
         project=self.project, filter=filter,
         maxResults=1).execute(num_retries=self._GCP_API_RETRIES)
     if 'kind' not in resp:
         # TODO(sergiitk): better error
         raise ValueError('List response "kind" is missing')
     return 'items' in resp and resp['items']
コード例 #2
0
 def _paginate(self, resource: Resource, list_args: Optional[Dict[str, Any]] = None) -> List[dict]:
     list_args = list_args or {}
     result: List[dict] = []
     while True:
         # start index has value 1
         request = resource.list(start_index=len(result) + 1, **list_args)  # pylint: disable=no-member
         response = request.execute(num_retries=self.num_retries)
         result.extend(response.get("items", []))
         # result is the number of fetched links from Analytics
         # when all links will be added to the result
         # the loop will break
         if response["totalResults"] <= len(result):
             break
     return result
コード例 #3
0
ファイル: calendar.py プロジェクト: nickovs/home-assistant
    async def async_get_events_page(
        self,
        hass: HomeAssistant,
        events: google_discovery.Resource,
        params: dict[str, Any],
        page_token: str | None,
        event_list: list[dict[str, Any]],
    ) -> str | None:
        """Get a page of events in a specific time frame."""
        params["pageToken"] = page_token
        result = await hass.async_add_executor_job(
            events.list(**params).execute)

        items = result.get("items", [])
        for item in items:
            if not self.ignore_availability and "transparency" in item:
                if item["transparency"] == "opaque":
                    event_list.append(item)
            else:
                event_list.append(item)
        return result.get("nextPageToken")
コード例 #4
0
 def _list_resource(self, collection: discovery.Resource):
     return collection.list(project=self.project).execute(
         num_retries=self._GCP_API_RETRIES)