diff --git a/.cirrus.yml b/.cirrus.yml index 8eecda2608927a30629ede91039adb89767a9ac7..e9997bd1367f3ec130e5efa492e57556a215b0aa 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -4,8 +4,9 @@ container: memory: 500M task: - name: Validate Play Store and F-Droid descriptions + name: Validate strings play-stable-script: python3 assets/store_descriptions/generate_and_validate.py play play-beta-script: python3 assets/store_descriptions/generate_and_validate.py playBeta fdroid-stable-script: python3 assets/store_descriptions/generate_and_validate.py fdroid fdroid-beta-script: python3 assets/store_descriptions/generate_and_validate.py fdroidBeta + app-string-script: python3 travis/validate-app-strings.py diff --git a/assets/store_descriptions/generate_and_validate.py b/assets/store_descriptions/generate_and_validate.py index 53bca0bf8149bbc4df26aab1250c97b903c1ffa8..0a9e24acc146efd721d2149cacdfa21f88f0bf1b 100755 --- a/assets/store_descriptions/generate_and_validate.py +++ b/assets/store_descriptions/generate_and_validate.py @@ -120,19 +120,4 @@ for file in appStoreStringsFiles: print("\n\n" + playDevSiteDescription) - -print("\n\nChecking app strings...") -appStringsFiles = glob.glob('mobile/src/main/res/values-*/strings.xml') -for file in appStringsFiles: - lang = file[27:-12] - print("Processing " + lang) - strings = open(file, "r").read() - - openhabOccurences = [m.start() for m in re.finditer("openhab", strings, re.I)] - for i in openhabOccurences: - openhabString = strings[i:i+7] - if openhabString != "openhab" and openhabString != "openHAB": # "openhab" is used in links - print("Incorrect spelling of openHAB in " + lang) - exitCode += 1 - exit(exitCode) diff --git a/travis/validate-app-strings.py b/travis/validate-app-strings.py new file mode 100755 index 0000000000000000000000000000000000000000..9d7a4a8c7ac81bc6b806e1fe311019033eb39278 --- /dev/null +++ b/travis/validate-app-strings.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 + +import glob +import re + +exitCode = 0 + +def checkStrings(flavor): + errorCount = 0 + print("Checking " + flavor + " app strings...") + appStringsFiles = glob.glob('mobile/src/' + flavor + '/res/values-*/strings.xml') + for file in appStringsFiles: + lang = file[27:-12] + print("Processing " + lang) + strings = open(file, "r").read() + + openhabOccurences = [m.start() for m in re.finditer("openhab", strings, re.I)] + for i in openhabOccurences: + openhabString = strings[i:i+7] + if openhabString != "openhab" and openhabString != "openHAB": # "openhab" is used in links + print("Incorrect spelling of openHAB") + errorCount += 1 + if len(appStringsFiles) == 0: + print("No files to validate") + print("\n\n") + return errorCount + +exitCode += checkStrings("main") +exitCode += checkStrings("full") +exitCode += checkStrings("foss") +exitCode += checkStrings("beta") +exitCode += checkStrings("stable") + +exit(exitCode)