def updateNameWin(self,isHd,isAuto): strOld = "_APP_NAME_" rootConfig = mainResource.GetProjectConfigApp() project = rootConfig + "/win/project" if isHd: project = rootConfig + "/win/project_hd" file_name_cn = project + "/strings/zh-cn/resources.resw" file_name_en= project + "/strings/en-us/resources.resw" data = self.loadJson(isHd) isOld = self.IsOldVersion(data) if not isOld : appname = data["appname"] if isOld: APP_NAME_CN= data["APP_NAME_CN_ANDROID"] APP_NAME_EN = data["APP_NAME_EN_ANDROID"] PACKAGE = data["PACKAGE_ANDROID"] else: APP_NAME_CN = appname["android"]["cn"] APP_NAME_EN = appname["android"]["en"] PACKAGE = data["apppackage"]["android"]["default"] # cn self.replaceFile(file_name_cn, strOld, APP_NAME_CN) # en self.replaceFile(file_name_en, strOld, APP_NAME_EN) filepath= project + "/strings/mainResource.resw" if os.path.exists(filepath): self.replaceFile(filepath, "_APP_PACKAGE_", PACKAGE)
def Run(self, isHd): print("UpdateAppstore Run") gameName = mainResource.getGameName() gameType = mainResource.getGameType() print(gameName) print(gameType) if len(sys.argv) > 2: if sys.argv[2] == "delete_screenshot": # delete_screenshots() sys.exit(0) #先从default 拷贝 文件模版 dir_default = mainResource.GetProjectConfigDefault() dir_to = mainResource.GetProjectConfigApp() dir1 = dir_default + "/appstore" dir2 = dir_to + "/appstore" flag = os.path.exists(dir2) print("UpdateAppstore dir1=" + dir1 + "dir2=" + dir2) if flag: shutil.rmtree(dir2) shutil.copytree(dir1, dir2) # self.copy_screenshots() self.updateAppstore(isHd) # self.updateAppstore(True) print("UpdateAppstore sucess")
def loadJson(self, isHd): cur_path = mainResource.GetProjectConfigApp() + "/appinfo" jsonfile = cur_path + '/appinfo.json' if isHd: jsonfile = cur_path + '/appinfo_hd.json' with open(jsonfile) as json_file: data = json.load(json_file) return data
def DeleteInAppPurchasesScreenshot(self, isHd): rootConfig = mainResource.GetProjectConfigApp() dst = rootConfig + "/appstore/ios/app.itmsp" if isHd: dst = rootConfig + "/appstore/ios/app_pad.itmsp" filepath = dst + "/in_app_purchases_screenshot.png" if os.path.exists(filepath): os.remove(filepath)
def getScreenshotFullFilePath(self, isHd, device, language, idx): strDir_itmsp = "app.itmsp" if isHd: strDir_itmsp = "app_pad.itmsp" strDirRootTo = mainResource.GetProjectConfigApp( ) + "/appstore/ios/" + strDir_itmsp strFileTo = strDirRootTo + "/" + self.getScreenshotFileName( device, language, idx) return strFileTo
def UploadIAPInfo(self, isHd, stros): package = mainAppInfo.GetAppPackage(stros, isHd) rootJson = self.LoadJsonIAP(isHd, stros) rootConfig = mainResource.GetProjectConfigDefault() striap = FileUtil.GetFileString(rootConfig + "/appstore/KEY_IAP.xml") listIAP = [] for item in rootJson["items"]: if item["isSkip"]: continue name = item["key"] striap = striap.replace("_NAME_", name) product_id = package + "." + item["id"] striap = striap.replace("_ID_", product_id) # consumable non-consumable isConsume = item["isConsume"] product_type = "non-consumable" if isConsume: product_type = "consumable" striap = striap.replace("_TYPE_", product_type) title_cn = item["title"]["cn"] striap = striap.replace("_TITLE_CN_", title_cn) title_en = item["title"]["en"] striap = striap.replace("_TITLE_EN_", title_en) title_cn = item["detail"]["cn"] striap = striap.replace("_DETAIL_CN_", title_cn) title_en = item["detail"]["en"] striap = striap.replace("_DETAIL_EN_", title_en) price = item["price_tier"] striap = striap.replace("_PRICE_", price) listIAP.append(striap) str_metadata_xml = FileUtil.GetFileString(rootConfig + "/appstore/IAP_metadata.xml") str_metadata_xml = str_metadata_xml.replace( "_VENDOR_ID_", mainAppInfo.GetAppSKU(isHd)) strkeyiap = "" for strtmp in listIAP: strkeyiap += strtmp str_metadata_xml = str_metadata_xml.replace("_KEY_IAP_", strkeyiap) rootConfig = mainResource.GetProjectConfigApp() file_metadata_ios = rootConfig + "/appstore/ios/app.itmsp/metadata.xml" if isHd: file_metadata_ios = rootConfig + "/appstore/ios/app_pad.itmsp/metadata.xml" FileUtil.SaveString2File(str_metadata_xml, file_metadata_ios) mainAppstoreUploadiOS.Run(isHd)
def copyResFiles(self,str): dir_default = mainResource.GetProjectConfigDefault() # "../../../default" dir_to = mainResource.GetProjectConfigApp() dir1 = dir_default+"/"+str dir2 = dir_to + "/"+str print(dir2) flag = os.path.exists(dir2) if flag: shutil.rmtree(dir2) shutil.copytree(dir1,dir2)
def GetAppDetail(self,isHd,lan): src = mainResource.GetProjectConfigApp()+"/appinfo/app_description.xml" if isHd: src = mainResource.GetProjectConfigApp()+"/appinfo/app_description_hd.xml" domTree = parse(src) # 文档根元素root = domTree.documentElement root = domTree.documentElement # print(root.nodeName) strret =" " key = lan # if lan==Source.LANGUAGE_CN: # key = "cn" list = root.getElementsByTagName(key) for item in list: strret = item.childNodes[0].data # print(strret) return strret
def CopyInAppPurchasesScreenshot(self, isHd): # src =mainResource.GetProjectConfig() + "/default/appstore/in_app_purchases_screenshot.png" src = mainResource.GetDirProductCommon( ) + "/in_app_purchases_screenshot.png" rootConfig = mainResource.GetProjectConfigApp() dst = rootConfig + "/appstore/ios/app.itmsp" if isHd: dst = rootConfig + "/appstore/ios/app_pad.itmsp" dst = dst + "/in_app_purchases_screenshot.png" if not os.path.isfile(dst): shutil.copyfile(src, dst)
def MakeGuideDoc(self, isHd): title = mainAppInfo.GetAppName(Source.ANDROID, isHd, Source.LANGUAGE_CN) + "V1.0.0" detail = mainAppInfo.GetAppDetail(isHd, Source.LANGUAGE_CN) # detail +="/n" detail += mainAppInfo.GetAppDetail(isHd, Source.LANGUAGE_EN) outputdir = mainResource.GetProjectOutPutApp() FileUtil.CreateDir(outputdir) docoutput = outputdir + "/" + mainResource.getGameType( ) + "_guide.docx" dirscreenshot = mainResource.GetProjectOutPutApp( ) + "/screenshot/shu/cn/1080p" filedetail = mainResource.GetProjectConfigApp( ) + "/appinfo/app_description.xml" if isHd: dirscreenshot = mainResource.GetProjectOutPutApp( ) + "/screenshot/heng/cn/1080p" filedetail = mainResource.GetProjectConfigApp( ) + "/appinfo/app_description_hd.xml" docoutput = outputdir + "/" + mainResource.getGameType( ) + "_guide_hd.docx" filedst = dirscreenshot + "/detail.xml" FileUtil.SaveString2File(detail, filedst) # FileUtil.CopyFile(filedetail,filedst) cmd = "pyerz -e xml -i " + dirscreenshot + " -o " + docoutput + " -t " + title + " --font-size 16 --space-before 2 --space-after 10 --line-spacing 16 " # print("cmd=",cmd) for i in range(5): pic = dirscreenshot + "/" + str(i + 1) + ".jpg" if os.path.exists(pic): cmd += " -pic " + pic os.system(cmd) os.remove(filedst) self.WordToPdf(docoutput)
def loadXmlDescription(self, isHd): cur_path = mainResource.GetProjectConfigApp() + "/appinfo" xmlfile = cur_path + '/app_description.xml' if isHd: xmlfile = cur_path + '/app_description_hd.xml' tree = ET.parse(xmlfile) root = tree.getroot() # cn = root.find('en') # print cn.tag # print cn.text return root
def DeleteAllScreenshots(self, isHd): verison = mainAppInfo.GetAppVersion(Source.IOS, isHd) rootConfig = mainResource.GetProjectConfigDefault() str_metadata_xml = FileUtil.GetFileString( rootConfig + "/appstore/metadata_clear_screenshots.xml") str_metadata_xml = str_metadata_xml.replace( "_VENDOR_ID_", mainAppInfo.GetAppSKU(isHd)) str_metadata_xml = str_metadata_xml.replace("_VERSION_", verison) rootConfig = mainResource.GetProjectConfigApp() file_metadata_ios = rootConfig + "/appstore/ios/app.itmsp/metadata.xml" if isHd: file_metadata_ios = rootConfig + "/appstore/ios/app_pad.itmsp/metadata.xml" FileUtil.SaveString2File(str_metadata_xml, file_metadata_ios) mainAppstoreUploadiOS.Run(isHd)
def Run(self, isHD): strFile = "app.itmsp" if isHD: strFile = "app_pad.itmsp" if Platform.isWindowsSystem(): strCmd = " " else: if mainIPABuild.IsXcode10(): strCmd = "/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m upload -u " + Source.APPSTORE_USER + " -p " + Source.APPSTORE_PASSWORD + " -v eXtreme -f " + mainResource.GetProjectConfigApp( ) + "/appstore/ios/" + strFile else: #xcode 11: 手动更新Transporter组件(java)方法: https://www.lagou.com/lgeduarticle/94642.html strCmd = "/Applications/Transporter.app/Contents/itms/bin/iTMSTransporter -m upload -u " + Source.APPSTORE_USER + " -p " + Source.APPSTORE_PASSWORD + " -v eXtreme -f " + mainResource.GetProjectConfigApp( ) + "/appstore/ios/" + strFile os.system(strCmd) print("appstore_upload_ios sucess")
def GetJsonFileConVert(self,isHd): cur_path = mainResource.GetProjectConfigApp()+"/appinfo" jsonfile = cur_path+'/appinfo.json' if isHd: jsonfile = cur_path+'/appinfo_hd.json' return jsonfile
def UpdateChannel(self, channel, ishd): print("updateChannel") # project_config = common.GetProjectConfigApp() + "/android" + "/gradle" targetDir = mainResource.GetRootDirAndroidStudio() sourceDir = mainResource.GetProjectConfigApp() project_android = "android/project" project_android_common = project_android rootAndroidStudio = mainResource.GetRootDirAndroidStudio() targetDir = rootAndroidStudio + "/src/main" if ishd == True: project_android = "android/project_hd" if channel == Source.GP: # self.MakeGooglePlayObbFile(ishd) if mainConfig.IsCloudRes(): self.DeleteAndroidAssetGameRes() mainConfigSDKAndroid.SetShareSdk(False) mainConfigSDKAndroid.SetAdSdk(Source.ADMOB, True) mainConfigSDKAndroid.SetAdSdk(Source.ADVIEW, False) mainConfigSDKAndroid.SetAdSdk(Source.GDT, False) mainConfigSDKAndroid.SetAdSdk(Source.BAIDU, False) mainConfigSDKAndroid.SetAdSdk(Source.XIAOMI, False) enable = True if mainConfig.IsForKid(): enable = False print("mainConfig.IsForKid()=", mainConfig.IsForKid()) # enable = False mainConfigSDKAndroid.SetAdSdk(Source.UNITY, enable) mainConfigSDKAndroid.SetAdSdk(Source.MOBVISTA, False) # project_config = sourceDir + "/" + project_android + "/config" xml = sourceDir + "/" + project_android + "/xml_gp" else: xml = sourceDir + "/" + project_android + "/xml" mainConfigSDKAndroid.SetAdSdk(Source.ADMOB, True) mainConfigSDKAndroid.SetAdSdk(Source.MOBVISTA, False) mainConfigSDKAndroid.SetAdSdk(Source.UNITY, True) mainConfigSDKAndroid.SetAdSdk(Source.BAIDU, True) # True mainConfigSDKAndroid.SetShareSdk(False) # project_config = sourceDir + "/" + project_android + "/config" FileUtil.CoverFiles(project_config, targetDir) FileUtil.CoverFiles(xml, targetDir) build_gradle = mainResource.GetProjectConfigApp( ) + "/android" + "/gradle/build" # or (channel == Source.GP) # if (channel == Source.TAPTAP) : # build_gradle = build_gradle+"_"+channel if (channel == Source.GP): build_gradle = build_gradle + "_" + channel build_gradle = build_gradle + ".gradle" #配置build.grade #common.coverFiles(build_gradle, targetDir) build_gradle_dst = rootAndroidStudio + "/build.gradle" flag = os.path.exists(build_gradle_dst) if flag: os.remove(build_gradle_dst) FileUtil.CopyOneFile(build_gradle, build_gradle_dst) # "channel_android": "xiaomi" file = self.getConfigJsonFile() print("channel_android=" + file) strStart = "channel_android\": \"" strEnd = "\"" strOut = self.replaceStringOfFile(file, strStart, strEnd, channel) FileUtil.SaveString2File(strOut, file)
def GetJsonFile(self,isHd): cur_path = mainResource.GetProjectConfigApp()+"/appinfo" jsonfile = cur_path+'/appinfo.json' if isHd: jsonfile = cur_path+'/appinfo_hd.json' return os.path.normpath(jsonfile)
def updateName(self,isHd,isAuto): name = mainAppInfo.GetAppStoreAcount(isHd,Source.HUAWEI) mainHuaweiAppGalleryApi.ClientId = mainAppStoreAcount.GetClientId(Source.HUAWEI,name) mainHuaweiAppGalleryApi.ClientSecret = mainAppStoreAcount.GetClientSecret(Source.HUAWEI,name) appinfoOld = AppInfoOld(isHd) if appinfoOld.IsOldVersion(): # 转换 self.ConvertOld2New(isHd,appinfoOld) rootConfig = mainResource.GetProjectConfigApp() strHD = "HD" project_ios = rootConfig + "/ios/project" project_android = rootConfig + "/android/project" if isHd: project_ios = rootConfig + "/ios/project_hd" project_android = rootConfig + "/android/project_hd" # android file_name_cn_android = project_android + "/res/values/strings.xml" file_name_en_android = project_android + "/res/values-en/strings.xml" file_AndroidManifest = project_android + "/xml/AndroidManifest.xml" file_AndroidManifest_GP = project_android + "/xml_gp/AndroidManifest.xml" file_google_service_android = project_android + "/config/google-services.json" # ios file_name_cn_ios = project_ios + "/appname/zh-Hans.lproj/InfoPlist.strings" file_name_en_ios = project_ios + "/appname/en.lproj/InfoPlist.strings" file_info_plist_ios = project_ios + "/Info.plist" # loadJson data = self.loadJson(isHd) appname = data["appname"] APP_NAME_CN_ANDROID = appname[Source.ANDROID]["cn"] APP_NAME_EN_ANDROID = appname[Source.ANDROID]["en"] APP_NAME_CN_IOS = appname[Source.IOS]["cn"] APP_NAME_EN_IOS = appname[Source.IOS]["en"] PACKAGE_ANDROID = data["apppackage"][Source.ANDROID]["default"] PACKAGE_IOS = data["apppackage"][Source.IOS]["default"] self.versionCode = data["appversion"][Source.ANDROID]["code"] APPVERSION_IOS = data["appversion"][Source.IOS]["value"] #appid appid_ios = self.GetJsonAppId(data,Source.APPSTORE) appid_taptap = self.GetJsonAppId(data,Source.TAPTAP) appid_huawei = self.GetJsonAppId(data,Source.HUAWEI) self.SetConfigDataAppId(Source.IOS,Source.APPSTORE,appid_ios,isHd) self.SetConfigDataAppId(Source.ANDROID,Source.TAPTAP,appid_taptap,isHd) self.SetConfigDataAppId(Source.ANDROID,Source.HUAWEI,appid_huawei,isHd) csvfile = mainResource.GetConfigDataDir()+"/language/language.csv" self.UpdateLanguageName(csvfile,APP_NAME_CN_ANDROID,APP_NAME_EN_ANDROID,isHd) csvfile = mainResource.GetRootUnityAssetsResource()+"/ConfigData/language/language.csv" self.UpdateLanguageName(csvfile,APP_NAME_CN_ANDROID,APP_NAME_EN_ANDROID,isHd) # if data.has_key("PACKAGE_HD_ANDROID"): # PACKAGE_HD_ANDROID = data["PACKAGE_HD_ANDROID"] if isAuto==True: self.autoPlusVersion(isHd,data) # 重新加载 data = self.loadJson(isHd) APPVERSION_IOS = data["appversion"][Source.IOS]["value"] self.versionCode = data["appversion"][Source.ANDROID]["code"] APPVERSION_ANDROID = self.versionCodeToVersion(self.versionCode) APPVERSION_CODE_ANDROID = self.versionCode # appversion.json if isAuto==False: src = mainResource.GetProjectConfigDefault()+"/appinfo/appversion.json" dst = mainResource.GetProjectConfigApp()+"/appinfo/appversion.json" flag = os.path.exists(dst) # if not isHd: shutil.copyfile(src,dst) strfile = FileUtil.GetFileString(dst) key = "_VERSION_ANDROID_" if isHd: key = "_VERSION_HD_ANDROID_" # 保存版本 # android print("appid_huawei=",appid_huawei+" ishd=",isHd) # if len(appid_huawei)>1: version_web = mainHuaweiAppGalleryApi.GetVersion(appid_huawei) strfile = strfile.replace(key,version_web) FileUtil.SaveString2File(strfile,dst) self.SetAppVersion(isHd,Source.ANDROID,version_web) strcode = version_web.replace(".","") self.SetAppVersionCode(isHd,Source.ANDROID,strcode) # ios appid_apple = self.GetJsonAppId(data,Source.APPSTORE) version_web = mainAppVersionApple.ParseVersion(appid_apple) print("AppVersionApple=",version_web+" appid_apple=",appid_apple) self.SetAppVersion(isHd,Source.IOS,version_web) strcode = version_web.replace(".","") self.SetAppVersionCode(isHd,Source.IOS,strcode) filepath = mainResource.GetProjectConfigAppType()+"/appversion.json" flag = os.path.exists(filepath) strFileJson = "{}" if flag: strFileJson = FileUtil.GetFileString(filepath) dataRoot = json.loads(strFileJson) dataRoot[mainResource.getGameName()]= json.loads(strfile) JsonUtil.SaveJson(filepath,dataRoot) # 重新加载 data = self.loadJson(isHd) APPVERSION_IOS = data["appversion"][Source.IOS]["value"] self.versionCode = data["appversion"][Source.ANDROID]["code"] APPVERSION_ANDROID = self.versionCodeToVersion(self.versionCode) APPVERSION_CODE_ANDROID = self.versionCode print (APP_NAME_CN_ANDROID) print (APP_NAME_EN_ANDROID) print (APP_NAME_CN_IOS) print (APP_NAME_EN_IOS) print (PACKAGE_ANDROID) print("android version:"+APPVERSION_ANDROID) print("ios version:"+APPVERSION_IOS) # android # name strStart = "app_name\">" strEnd = "<" # cn strOut = self.replaceStringOfFile( file_name_cn_android, strStart, strEnd, APP_NAME_CN_ANDROID) self.saveString2File(strOut, file_name_cn_android) # en strOut = self.replaceStringOfFile( file_name_en_android, strStart, strEnd, APP_NAME_EN_ANDROID) self.saveString2File(strOut, file_name_en_android) self.updateAndroidManifest(file_AndroidManifest,PACKAGE_ANDROID,APPVERSION_ANDROID,APPVERSION_CODE_ANDROID,isHd) self.updateAndroidManifest(file_AndroidManifest_GP,PACKAGE_ANDROID,APPVERSION_ANDROID,APPVERSION_CODE_ANDROID,isHd) # admob self.replaceGoogleServiceFile(file_google_service_android, PACKAGE_ANDROID) # ios #appname self.replaceFile(file_info_plist_ios,"_APP_NAME_",APP_NAME_CN_IOS) file_name_cn_ios = project_ios + "/appname/zh-Hans.lproj/InfoPlist.strings" file_name_en_ios = project_ios + "/appname/en.lproj/InfoPlist.strings" # cn self.replaceFile(file_name_cn_ios,"_APP_NAME_",APP_NAME_CN_IOS) # en self.replaceFile(file_name_en_ios,"_APP_NAME_",APP_NAME_EN_IOS) # package self.replaceFile(file_info_plist_ios,"_APP_PACKAGE_",PACKAGE_IOS) # version self.replaceFile(file_info_plist_ios,"_APP_VERSION_",APPVERSION_IOS) #admob appid appid = mainAdConfig.GetCommonAppId(Source.ADMOB,Source.IOS,isHd) self.replaceFile(file_info_plist_ios,"_APP_ID_ADMOB_",appid) # CFBundleURLSchemes src = Source.WEIBO appid = mainConfig.GetShareAppId(src,Source.IOS,isHd) self.replaceXcodeUrlScheme(file_info_plist_ios,src,appid,0) src = Source.WEIXIN appid = mainConfig.GetShareAppId(src,Source.IOS,isHd) self.replaceXcodeUrlScheme(file_info_plist_ios,src,appid,0) src = Source.QQ appid = mainConfig.GetShareAppId(src,Source.IOS,isHd) self.replaceXcodeUrlScheme(file_info_plist_ios,src,appid,0) self.replaceXcodeUrlScheme(file_info_plist_ios,src,appid,1) # xiaomi aso keyword self.updateXiaoASOkeyword(data,isHd) # win self.updateNameWin(isHd,isAuto)
def updateAppstore(self, isHd): self.CopyInAppPurchasesScreenshot(isHd) rootConfig = mainResource.GetProjectConfigApp() strHD = "HD" metadata_ios = rootConfig + "/appstore/ios/app.itmsp/metadata.xml" if isHd: metadata_ios = rootConfig + "/appstore/ios/app_pad.itmsp/metadata.xml" xmlRoot = self.loadXmlDescription(isHd) # filePath = rootConfig + "appstore/ios/app.itmsp/in_app_purchases_screenshot.png" # print mainResource.get_MD5_checksum_file(filePath) # loadJson data = self.loadJson(isHd) isOld = self.IsOldVersion(data) if isOld: # APP_NAME_CN_ANDROID = data["APP_NAME_CN_ANDROID"] APPSTORE_VERSION_UPDATE = data["APPSTORE_VERSION_UPDATE"] APPSTORE_TITLE = data["APPSTORE_TITLE"] APPSTORE_SUBTITLE = data["APPSTORE_SUBTITLE"] APPSTORE_PROMOTION = data["APPSTORE_PROMOTION"] PACKAGE = data["PACKAGE_IOS"] # APPSTORE_DESCRIPTION = data["APPSTORE_DESCRIPTION"] APPSTORE_KEYWORD = data["APPSTORE_KEYWORD"] APPVERSION_IOS = data["APPVERSION_IOS"] else: APPVERSION_IOS = data["appversion"][Source.IOS]["value"] APPSTORE_KEYWORD = data["appstore"]["aso"] PACKAGE = data["apppackage"][Source.IOS]["default"] APPSTORE_VERSION_UPDATE = data["appstore"]["version_update"] APPSTORE_PROMOTION = data["appstore"]["promotion"] APPSTORE_SUBTITLE = data["appstore"]["subtitle"] APPSTORE_TITLE = data["appstore"]["title"] software_url = data["software_url"] privacy_url = data["privacy_url"] support_url = data["support_url"] sku_app = data["sku_app"] # need_upload_screenshot = data.get("need_upload_screenshot",False) need_upload_screenshot = False global enableScrenshot enableScrenshot = False # ios # sku_app strStart = "<vendor_id>" strEnd = "</vendor_id>" strOut = self.replaceStringOfFile(metadata_ios, strStart, strEnd, sku_app) self.saveString2File(strOut, metadata_ios) # APPVERSION_IOS # <version string="1.0.0"> strStart = "<version string=\"" strEnd = "\">" strOut = self.replaceStringOfFile(metadata_ios, strStart, strEnd, APPVERSION_IOS) self.saveString2File(strOut, metadata_ios) # 版本更新说明 key = "version_whats_new" if APPVERSION_IOS == "1.0.0": self.disableXmlKey(metadata_ios, key) else: jsonData = APPSTORE_VERSION_UPDATE idx = 0 for country in listCountry: lan = listCountryLanguage[idx] self.replaceXmlKey(metadata_ios, country, key, jsonData[lan]) idx += 1 # APPSTORE_TITLE key = "title" jsonData = APPSTORE_TITLE idx = 0 for country in listCountry: lan = listCountryLanguage[idx] self.replaceXmlKey(metadata_ios, country, key, jsonData[lan]) idx += 1 # APPSTORE_TITLE key = "subtitle" jsonData = APPSTORE_SUBTITLE idx = 0 for country in listCountry: lan = listCountryLanguage[idx] self.replaceXmlKey(metadata_ios, country, key, jsonData[lan]) idx += 1 # APPSTORE_PROMOTION key = "promotional_text" jsonData = APPSTORE_PROMOTION idx = 0 for country in listCountry: lan = listCountryLanguage[idx] self.replaceXmlKey(metadata_ios, country, key, jsonData[lan]) idx += 1 # APPSTORE_DESCRIPTION key = "description" # jsonData = APPSTORE_DESCRIPTION idx = 0 for country in listCountry: lan = listCountryLanguage[idx] desc = self.getXmlDescriptionText(xmlRoot, lan) self.replaceXmlKey(metadata_ios, country, key, desc) idx += 1 # APPSTORE_KEYWORD key = "keyword" jsonData = APPSTORE_KEYWORD idx = 0 for country in listCountry: lan = listCountryLanguage[idx] self.replaceXmlKey(metadata_ios, country, key, jsonData[lan]) idx += 1 # software_url key = "software_url" jsonData = software_url idx = 0 for country in listCountry: self.replaceXmlKey(metadata_ios, country, key, jsonData) idx += 1 # support_url key = "support_url" jsonData = support_url idx = 0 for country in listCountry: lan = listCountryLanguage[idx] self.replaceXmlKey(metadata_ios, country, key, jsonData) idx += 1 # privacy_url key = "privacy_url" jsonData = privacy_url idx = 0 for country in listCountry: lan = listCountryLanguage[idx] self.replaceXmlKey(metadata_ios, country, key, jsonData) idx += 1 # screenshot # key = "software_screenshots" # if enableScrenshot: # screenshot_cn = self.getXmlStringScreenshots(isHd,"cn") # screenshot_en = self.getXmlStringScreenshots(isHd,"en") # self.replaceXmlKey(metadata_ios,"en-US",key,screenshot_en) # self.replaceXmlKey(metadata_ios,"zh-Hans",key,screenshot_cn) # # replaceXmlKey(metadata_ios,"en-CA",key,screenshot_en) # # replaceXmlKey(metadata_ios,"en-AU",key,screenshot_en) # # replaceXmlKey(metadata_ios,"en-GB",key,screenshot_en) # else: # self.disableXmlKey(metadata_ios,"software_screenshots") # noad self.replaceIAP_noad(metadata_ios, PACKAGE + ".noad")