From efcb2b50af8cf439abb823a7015ac3cb9386362b Mon Sep 17 00:00:00 2001
From: mueller-ma <mueller-ma@users.noreply.github.com>
Date: Sun, 21 Oct 2018 17:53:26 +0200
Subject: [PATCH] Move app string validation to separate file (#1049)

Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
---
 .cirrus.yml                                   |  3 +-
 .../generate_and_validate.py                  | 15 --------
 travis/validate-app-strings.py                | 34 +++++++++++++++++++
 3 files changed, 36 insertions(+), 16 deletions(-)
 create mode 100755 travis/validate-app-strings.py

diff --git a/.cirrus.yml b/.cirrus.yml
index 8eecda26..e9997bd1 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 53bca0bf..0a9e24ac 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 00000000..9d7a4a8c
--- /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)
-- 
GitLab