From b3469aae9b94ae39aabd25e78b5256bb20ce02d2 Mon Sep 17 00:00:00 2001 From: dmytrolutsyk Date: Wed, 2 Dec 2020 18:04:28 +0100 Subject: [PATCH 1/9] add update category method --- appstoreconnect/api.py | 10 ++++++++++ appstoreconnect/resources.py | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index 65cdbf9..ea79821 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -420,6 +420,7 @@ def read_app_information(self, app_ip): :param app_ip: :return: an App resource """ + print("HELLLLLOO") return self._get_resource(App, app_ip) def list_apps(self, filters=None, sort=None): @@ -613,6 +614,15 @@ def get_build_info(self, build_id): """ return self._get_resource(Build, build_id) + def UpdateAppCategories(self, appInfoId, primary, secondary): + if (len(secondary) != 0 and len(primary) != 0): + post_data = {'data':{'type':'appInfos','id':appInfoId,'relationships':{'primaryCategory':{'data':{'type':'appCategories','id':primary}},'secondaryCategory':{'data':{'type':'appCategories','id':secondary}}}}} + elif (len(primary) != 0 and len(secondary) == 0): + post_data = {'data':{'type':'appInfos','id':appInfoId,'relationships':{'primaryCategory':{'data':{'type':'appCategories','id':primary}}}}} + else: + return + return self._api_call(f"https://api.appstoreconnect.apple.com/v1/appInfos/{appInfoId}", HttpMethod.PATCH, post_data) + # Reporting def download_finance_reports(self, filters=None, split_response=False, save_to=None): # setup required filters if not provided diff --git a/appstoreconnect/resources.py b/appstoreconnect/resources.py index 8cd5b2c..f09dc06 100644 --- a/appstoreconnect/resources.py +++ b/appstoreconnect/resources.py @@ -227,3 +227,12 @@ class FinanceReport(Resource): class SalesReport(Resource): endpoint = '/v1/salesReports' filters = 'https://developer.apple.com/documentation/appstoreconnectapi/download_sales_and_trends_reports' + +class AppCategory(Resource): + type = 'appCategories' + attributes = ['platforms'] + relationships = { + 'parent': {'multiple': False}, + 'subcategories': {'multiple': True} + } + documentation = 'https://developer.apple.com/documentation/appstoreconnectapi/appcategory' From c4601a4073128c9b3ec1b86d8fd26c02a02a9938 Mon Sep 17 00:00:00 2001 From: dmytrolutsyk Date: Thu, 3 Dec 2020 14:12:04 +0100 Subject: [PATCH 2/9] update prilary category miss secondary category --- appstoreconnect/api.py | 26 ++++++++++++++++++++++++-- appstoreconnect/resources.py | 18 ++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index ea79821..102f408 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -420,7 +420,6 @@ def read_app_information(self, app_ip): :param app_ip: :return: an App resource """ - print("HELLLLLOO") return self._get_resource(App, app_ip) def list_apps(self, filters=None, sort=None): @@ -614,7 +613,25 @@ def get_build_info(self, build_id): """ return self._get_resource(Build, build_id) - def UpdateAppCategories(self, appInfoId, primary, secondary): + def read_app_category_info(self, app_category_id): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/read_app_category_information + :return: an iterator over AppCategory resources + """ + return self._get_resource(AppCategory, app_category_id) + + def get_app_info(self, app_id): + return self._api_call(BASE_API+f"/v1/apps/{app_id}/appInfos", HttpMethod.GET, None) + + def list_app_infos(self, app_id: str): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_infos_for_an_app + :return: an iterator over AppCategory resources + """ + full_url = BASE_API + "/v1/apps/" + app_id + "/appInfos" + return self._get_resources(AppInfo, None, None, full_url) + + '''def update_app_info(self, appInfoId, primary, secondary): if (len(secondary) != 0 and len(primary) != 0): post_data = {'data':{'type':'appInfos','id':appInfoId,'relationships':{'primaryCategory':{'data':{'type':'appCategories','id':primary}},'secondaryCategory':{'data':{'type':'appCategories','id':secondary}}}}} elif (len(primary) != 0 and len(secondary) == 0): @@ -622,6 +639,11 @@ def UpdateAppCategories(self, appInfoId, primary, secondary): else: return return self._api_call(f"https://api.appstoreconnect.apple.com/v1/appInfos/{appInfoId}", HttpMethod.PATCH, post_data) + ''' + def update_app_store_version(self, app_store_version: AppStoreVersion, args): + return self._modify_resource(app_store_version, args) + def update_app_info(self, app_information: AppInfo, args): + return self._modify_resource(app_information, args) # Reporting def download_finance_reports(self, filters=None, split_response=False, save_to=None): diff --git a/appstoreconnect/resources.py b/appstoreconnect/resources.py index f09dc06..c556b38 100644 --- a/appstoreconnect/resources.py +++ b/appstoreconnect/resources.py @@ -229,6 +229,7 @@ class SalesReport(Resource): filters = 'https://developer.apple.com/documentation/appstoreconnectapi/download_sales_and_trends_reports' class AppCategory(Resource): + endpoint = '/v1/appCategories' type = 'appCategories' attributes = ['platforms'] relationships = { @@ -236,3 +237,20 @@ class AppCategory(Resource): 'subcategories': {'multiple': True} } documentation = 'https://developer.apple.com/documentation/appstoreconnectapi/appcategory' + +class AppInfo(Resource): + endpoint = '/v1/appInfos' + type = 'appInfos' + attributes = ['appStoreAgeRating', 'appStoreState', 'brazilAgeRating', 'kidsAgeBand'] + relationships = { + 'app': {'multiple': False}, + 'appInfoLocalizations': {'multiple': True}, + 'primaryCategory': {'multiple': False}, + 'primarySubcategoryOne': {'multiple': False}, + 'primarySubcategoryTwo': {'multiple': False}, + 'secondaryCategory': {'multiple': False}, + 'secondarySubcategoryOne': {'multiple': False}, + 'secondarySubcategoryTwo': {'multiple': False} + + } + documentation = 'https://developer.apple.com/documentation/appstoreconnectapi/appinfo' From bdb42907b9b65a4140e61f5994040c8eacf5523b Mon Sep 17 00:00:00 2001 From: dmytrolutsyk Date: Mon, 7 Dec 2020 16:38:30 +0100 Subject: [PATCH 3/9] add app version and info localizations update and this commit contains to app categories update --- appstoreconnect/api.py | 54 ++++++++++++++++++++++++------------ appstoreconnect/resources.py | 20 +++++++++++++ 2 files changed, 56 insertions(+), 18 deletions(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index 102f408..19dac20 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -600,9 +600,6 @@ def list_profiles(self, filters=None, sort=None): """ return self._get_resources(Profile, filters, sort) - def update_app_store_version(self, app_store_version: AppStoreVersion, args): - return self._modify_resource(app_store_version, args) - def create_new_version_for_app(self, app_store_version: AppStoreVersion, args): return self._create_resource(app_store_version, args) @@ -620,9 +617,6 @@ def read_app_category_info(self, app_category_id): """ return self._get_resource(AppCategory, app_category_id) - def get_app_info(self, app_id): - return self._api_call(BASE_API+f"/v1/apps/{app_id}/appInfos", HttpMethod.GET, None) - def list_app_infos(self, app_id: str): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_infos_for_an_app @@ -631,19 +625,43 @@ def list_app_infos(self, app_id: str): full_url = BASE_API + "/v1/apps/" + app_id + "/appInfos" return self._get_resources(AppInfo, None, None, full_url) - '''def update_app_info(self, appInfoId, primary, secondary): - if (len(secondary) != 0 and len(primary) != 0): - post_data = {'data':{'type':'appInfos','id':appInfoId,'relationships':{'primaryCategory':{'data':{'type':'appCategories','id':primary}},'secondaryCategory':{'data':{'type':'appCategories','id':secondary}}}}} - elif (len(primary) != 0 and len(secondary) == 0): - post_data = {'data':{'type':'appInfos','id':appInfoId,'relationships':{'primaryCategory':{'data':{'type':'appCategories','id':primary}}}}} - else: - return - return self._api_call(f"https://api.appstoreconnect.apple.com/v1/appInfos/{appInfoId}", HttpMethod.PATCH, post_data) - ''' - def update_app_store_version(self, app_store_version: AppStoreVersion, args): + def modify_app_store_version(self, app_store_version: AppStoreVersion, args): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version + :return: an iterator over AppStoreVersion resources + """ return self._modify_resource(app_store_version, args) - def update_app_info(self, app_information: AppInfo, args): - return self._modify_resource(app_information, args) + + def modify_app_info(self, app_information: AppInfo, args): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_info + :return: an iterator over AppInfo resources + """ + return self._modify_resource(app_information, args) + + # appStoreVersions localization + def get_app_store_version_localizations(self, appstoreversion_id): + full_url = BASE_API + f"/v1/appStoreVersions/{appstoreversion_id}/appStoreVersionLocalizations" + return self._get_resources(AppStoreVersionLocalization, None, None, full_url) + + def modify_app_store_version_localization(self, AppStoreVersionLocalizations, attributes): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_localization + :return: an iterator over AppInfoLocalization resources + """ + return self._modify_resource(AppStoreVersionLocalizations, attributes) + + # appStoreInfo localization + def get_app_store_info_localization(self, app_information): + full_url = BASE_API + f"/v1/appInfos/{app_information.id}/appInfoLocalizations" + return self._get_resources(AppInfoLocalization, None, None, full_url) + + def modify_app_store_info_localization(self, AppInfoLocalization, attributes): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_info_localization + :return: an iterator over AppInfoLocalization resources + """ + return self._modify_resource(AppInfoLocalization, attributes) # Reporting def download_finance_reports(self, filters=None, split_response=False, save_to=None): diff --git a/appstoreconnect/resources.py b/appstoreconnect/resources.py index c556b38..efe2fbf 100644 --- a/appstoreconnect/resources.py +++ b/appstoreconnect/resources.py @@ -76,6 +76,17 @@ class BetaGroup(Resource): # App Metadata Resources +class AppStoreVersionLocalization(Resource): + endpoint = '/v1/appStoreVersionLocalizations' + type = 'appStoreVersionLocalizations' + attributes = ['description', 'keywords', 'locale', 'marketingUrl', 'promotionalText' 'supportUrl', 'whatsNew'] + relationships = { + 'appPreviewSets': {'multiple': True}, + 'appScreenshotSets': {'multiple': True}, + 'appStoreVersion': {'multiple': False} + } + documentation = 'https://developer.apple.com/documentation/appstoreconnectapi/appstoreversionlocalization' + class AppStoreVersion(Resource): endpoint = '/v1/appStoreVersions' type = 'appStoreVersions' @@ -93,6 +104,15 @@ class AppStoreVersion(Resource): } documentation = 'https://developer.apple.com/documentation/appstoreconnectapi/appstoreversion' +class AppInfoLocalization(Resource): + endpoint = '/v1/appInfoLocalizations' + type = 'appInfoLocalizations' + attributes = ['locale', 'name', 'privacyPolicyText', 'privacyPolicyUrl', 'subtitle'] + relationships = { + 'appInfo': {'multiple': False}, + } + documentation = 'https://developer.apple.com/documentation/appstoreconnectapi/appinfolocalization' + # App Resources class App(Resource): From 0377b277616d203fbf3fd4dac8107b7f2819763f Mon Sep 17 00:00:00 2001 From: Fehmi Toumi Date: Wed, 9 Dec 2020 13:06:35 +0100 Subject: [PATCH 4/9] fixed typo --- appstoreconnect/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index dc34ebf..4f1b66a 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -632,7 +632,7 @@ def modify_app_store_version(self, app_store_version: AppStoreVersion, versionSt def create_new_app_store_version(self, platform: str, versionString: str, app: App, build: Build = None) -> AppStoreVersion: """ - :reference: https://ssdeveloper.apple.com/documentation/appstoreconnectapi/create_an_app_store_version + :reference: https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version :return: a AppStoreVersion resource """ return self._create_resource(AppStoreVersion, locals()) From aad14c1ffe765d1eb6717b9b6c46f24b827c2fa3 Mon Sep 17 00:00:00 2001 From: Fehmi Toumi Date: Wed, 9 Dec 2020 14:05:33 +0100 Subject: [PATCH 5/9] added again modify_app_store_version_localization ( removed accidentaly ) added copyroth parameters form create and modify app store version functions --- appstoreconnect/api.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index 4f1b66a..bcf46e5 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -610,6 +610,13 @@ def get_app_store_version_localizations(self, appstoreversion_id): full_url = BASE_API + f"/v1/appStoreVersions/{appstoreversion_id}/appStoreVersionLocalizations" return self._get_resources(AppStoreVersionLocalization, None, None, full_url) + def modify_app_store_version_localization(self, AppStoreVersionLocalizations, attributes): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_localization + :return: an iterator over AppInfoLocalization resources + """ + return self._modify_resource(AppStoreVersionLocalizations, attributes) + # appStoreInfo localization def get_app_store_info_localization(self, app_information): full_url = BASE_API + f"/v1/appInfos/{app_information.id}/appInfoLocalizations" @@ -623,14 +630,14 @@ def modify_app_store_info_localization(self, AppInfoLocalization, attributes): return self._modify_resource(AppInfoLocalization, attributes) # App Metadata - def modify_app_store_version(self, app_store_version: AppStoreVersion, versionString: str, build: Build = None): + def modify_app_store_version(self, app_store_version: AppStoreVersion, versionString: str, copyright: str, build: Build = None): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version :return: a Device resource """ return self._modify_resource(app_store_version, locals()) - def create_new_app_store_version(self, platform: str, versionString: str, app: App, build: Build = None) -> AppStoreVersion: + def create_new_app_store_version(self, platform: str, versionString: str, copyright: str, app: App, build: Build = None) -> AppStoreVersion: """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version :return: a AppStoreVersion resource From d84c0d5ac21cad7269bd98c6de020245b31d17f7 Mon Sep 17 00:00:00 2001 From: dmytrolutsyk <49659495+dmytrolutsyk@users.noreply.github.com> Date: Wed, 9 Dec 2020 14:42:11 +0100 Subject: [PATCH 6/9] Update api.py Change localisation of functions --- appstoreconnect/api.py | 46 ++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index bcf46e5..c8c5be4 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -397,6 +397,14 @@ def read_app_information(self, app_ip): :return: an App resource """ return self._get_resource(App, app_ip) + + def list_app_infos(self, app_id: str): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_infos_for_an_app + :return: an iterator over AppCategory resources + """ + full_url = BASE_API + "/v1/apps/" + app_id + "/appInfos" + return self._get_resources(AppInfo, None, None, full_url) def list_apps(self, filters=None, sort=None): """ @@ -583,28 +591,6 @@ def get_build_info(self, build_id): """ return self._get_resource(Build, build_id) - def read_app_category_info(self, app_category_id): - """ - :reference: https://developer.apple.com/documentation/appstoreconnectapi/read_app_category_information - :return: an iterator over AppCategory resources - """ - return self._get_resource(AppCategory, app_category_id) - - def list_app_infos(self, app_id: str): - """ - :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_infos_for_an_app - :return: an iterator over AppCategory resources - """ - full_url = BASE_API + "/v1/apps/" + app_id + "/appInfos" - return self._get_resources(AppInfo, None, None, full_url) - - def modify_app_info(self, app_information: AppInfo, args): - """ - :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_info - :return: an iterator over AppInfo resources - """ - return self._modify_resource(app_information, args) - # appStoreVersions localization def get_app_store_version_localizations(self, appstoreversion_id): full_url = BASE_API + f"/v1/appStoreVersions/{appstoreversion_id}/appStoreVersionLocalizations" @@ -643,6 +629,22 @@ def create_new_app_store_version(self, platform: str, versionString: str, copyri :return: a AppStoreVersion resource """ return self._create_resource(AppStoreVersion, locals()) + + def read_app_category_info(self, app_category_id): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/read_app_category_information + :return: an iterator over AppCategory resources + """ + return self._get_resource(AppCategory, app_category_id) + + # App info Resources + def modify_app_info(self, app_information: AppInfo, args): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_info + :return: an iterator over AppInfo resources + """ + return self._modify_resource(app_information, args) + # Reporting def download_finance_reports(self, filters=None, split_response=False, save_to=None): # setup required filters if not provided From 67792faff6295fae0e7cd346029e99803c950473 Mon Sep 17 00:00:00 2001 From: dmytrolutsyk Date: Wed, 9 Dec 2020 15:11:33 +0100 Subject: [PATCH 7/9] change parameters of modify_app_info --- appstoreconnect/api.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index c8c5be4..d041025 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -397,7 +397,7 @@ def read_app_information(self, app_ip): :return: an App resource """ return self._get_resource(App, app_ip) - + def list_app_infos(self, app_id: str): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_infos_for_an_app @@ -456,7 +456,6 @@ def list_beta_license_agreements(self, filters=None): return self._get_resources(BetaLicenseAgreement, filters) # App Metadata Resources - def list_app_store_versions(self, app_id: str, filters=None, sort=None): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_versions_for_an_app @@ -629,21 +628,21 @@ def create_new_app_store_version(self, platform: str, versionString: str, copyri :return: a AppStoreVersion resource """ return self._create_resource(AppStoreVersion, locals()) - + def read_app_category_info(self, app_category_id): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/read_app_category_information :return: an iterator over AppCategory resources """ return self._get_resource(AppCategory, app_category_id) - + # App info Resources - def modify_app_info(self, app_information: AppInfo, args): + def modify_app_info(self, app_information: AppInfo, primaryCategory: str = None, secondaryCategory:str = None): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_info :return: an iterator over AppInfo resources """ - return self._modify_resource(app_information, args) + return self._modify_resource(app_information, locals()) # Reporting def download_finance_reports(self, filters=None, split_response=False, save_to=None): From 8293a0b0bda01d71c00c9fbea4a2c8e9dc6eedbc Mon Sep 17 00:00:00 2001 From: dmytrolutsyk Date: Thu, 10 Dec 2020 15:27:37 +0100 Subject: [PATCH 8/9] change list_app_store_info_localizations and add doc ref --- appstoreconnect/api.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index d041025..09cb37e 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -603,7 +603,11 @@ def modify_app_store_version_localization(self, AppStoreVersionLocalizations, at return self._modify_resource(AppStoreVersionLocalizations, attributes) # appStoreInfo localization - def get_app_store_info_localization(self, app_information): + def list_app_store_info_localizations(self, app_information): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_info_localizations_for_an_app_info + :return: an iterator over AppInfoLocalization resources + """ full_url = BASE_API + f"/v1/appInfos/{app_information.id}/appInfoLocalizations" return self._get_resources(AppInfoLocalization, None, None, full_url) @@ -637,6 +641,7 @@ def read_app_category_info(self, app_category_id): return self._get_resource(AppCategory, app_category_id) # App info Resources + def modify_app_info(self, app_information: AppInfo, primaryCategory: str = None, secondaryCategory:str = None): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_info From 97c11b6ed30ded0aa63cf4e660b05f3153b6d4a5 Mon Sep 17 00:00:00 2001 From: dmytrolutsyk Date: Thu, 10 Dec 2020 19:01:08 +0100 Subject: [PATCH 9/9] - change modify_app_store_info_localization and modify_app_store_version_localization parameters - add reference for list_app_store_version_localizations and list_app_store_info_localizations --- appstoreconnect/api.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/appstoreconnect/api.py b/appstoreconnect/api.py index 09cb37e..a9f7751 100644 --- a/appstoreconnect/api.py +++ b/appstoreconnect/api.py @@ -591,16 +591,20 @@ def get_build_info(self, build_id): return self._get_resource(Build, build_id) # appStoreVersions localization - def get_app_store_version_localizations(self, appstoreversion_id): - full_url = BASE_API + f"/v1/appStoreVersions/{appstoreversion_id}/appStoreVersionLocalizations" + def list_app_store_version_localizations(self, appstoreversion): + """ + :reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_version_localizations_for_an_app_store_version + :return: an iterator over AppStoreVersionLocalization resources + """ + full_url = BASE_API + f"/v1/appStoreVersions/{appstoreversion.id}/appStoreVersionLocalizations" return self._get_resources(AppStoreVersionLocalization, None, None, full_url) - def modify_app_store_version_localization(self, AppStoreVersionLocalizations, attributes): + def modify_app_store_version_localization(self, app_store_version_localization: AppStoreVersionLocalization, description: str, keywords: str, marketingUrl: str, promotionalText: str, supportUrl: str, whatsNew: str ): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_localization :return: an iterator over AppInfoLocalization resources """ - return self._modify_resource(AppStoreVersionLocalizations, attributes) + return self._modify_resource(app_store_version_localization, locals()) # appStoreInfo localization def list_app_store_info_localizations(self, app_information): @@ -611,12 +615,12 @@ def list_app_store_info_localizations(self, app_information): full_url = BASE_API + f"/v1/appInfos/{app_information.id}/appInfoLocalizations" return self._get_resources(AppInfoLocalization, None, None, full_url) - def modify_app_store_info_localization(self, AppInfoLocalization, attributes): + def modify_app_store_info_localization(self, app_info_localization: AppInfoLocalization, name: str, privacyPolicyUrl: str, subtitle: str): """ :reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_info_localization :return: an iterator over AppInfoLocalization resources """ - return self._modify_resource(AppInfoLocalization, attributes) + return self._modify_resource(app_info_localization, locals()) # App Metadata def modify_app_store_version(self, app_store_version: AppStoreVersion, versionString: str, copyright: str, build: Build = None):