def get_localizations( self, *, app_info_id: str, locale: Optional[str] = None, ) -> Iterator[AppInfoLocalization]: """Get the app info for an app. :param app_info_id: The app info ID to get the localized info for :param locale: The version to filter on (if any) :returns: An iterator to AppInfoLocalization """ self.log.debug(f"Getting localizations for {app_info_id} (locale={locale})") url = self.http_client.generate_url(f"appInfos/{app_info_id}/appInfoLocalizations") query_parameters = {} if locale: query_parameters["filter[locale]"] = locale url = update_query_parameters(url, query_parameters) yield from self.http_client.get(url=url, data_type=List[AppInfoLocalization])
def get_all( self, *, app_id: str, version_string: Optional[str] = None, platform: Optional[Platform] = None, ) -> Iterator[AppStoreVersion]: """Get the versions for an app. :param app_id: The app ID to get the versions for :param version_string: The version to filter on (if any) :param platform: The platform to filter on (if any) :returns: An iterator to AppStoreVersion """ url = self.http_client.generate_url(f"apps/{app_id}/appStoreVersions") query_parameters = {} if version_string: query_parameters["filter[versionString]"] = version_string if platform: query_parameters["filter[platform]"] = platform.value url = update_query_parameters(url, query_parameters) yield from self.http_client.get(url=url, data_type=List[AppStoreVersion])
def get_users(self) -> Iterator[User]: """Get all users. :returns: A list of users """ self.log.info("Getting users...") url = self.http_client.generate_url("users") query_parameters = {"limit": "200"} url = update_query_parameters(url, query_parameters) yield from self.http_client.get(url=url, data_type=List[User])
def get_builds( self, *, url: Optional[str] = None, sort: Optional[BuildsSort] = None, build_number: Optional[str] = None, version: Optional[str] = None, app_id: Optional[str] = None, ) -> Iterator[Build]: """Get all builds. :param Optional[str] url: The URL to use (will be generated if not supplied) :param Optional[BuildSort] sort: The sort option to use :param Optional[str] build_number: Filter to just this build number :param Optional[str] version: Filter to just this version :param Optional[str] app_id: Filter to just this app :returns: A list of builds """ self.log.info("Getting builds...") if url is None: url = self.http_client.generate_url("builds") query_parameters = {} if sort: query_parameters["sort"] = sort.value if build_number: query_parameters["filter[version]"] = build_number if app_id: query_parameters["filter[app]"] = app_id if version: query_parameters["filter[preReleaseVersion.version]"] = version url = update_query_parameters(url, query_parameters) yield from self.http_client.get(url=url, data_type=List[Build])