Esempio n. 1
0
    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])
Esempio n. 2
0
    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])
Esempio n. 3
0
    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])
Esempio n. 4
0
    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])