chiark / gitweb /
lint: start warning about invalid categories
authorDaniel Martí <mvdan@mvdan.cc>
Wed, 17 Jun 2015 17:55:30 +0000 (19:55 +0200)
committerDaniel Martí <mvdan@mvdan.cc>
Wed, 17 Jun 2015 17:55:30 +0000 (19:55 +0200)
fdroidserver/lint.py

index f8d7d1a041cf31bb77fb9f498cb671bf500a5367..421b2b881c11ff105f4bf555207d5e1e096c95a4 100644 (file)
@@ -23,6 +23,7 @@ import logging
 import common
 import metadata
 from collections import Counter
+from sets import Set
 
 config = None
 options = None
@@ -89,6 +90,22 @@ regex_warnings = {
     ],
 }
 
+categories = Set([
+    "Children",
+    "Development",
+    "Games",
+    "Internet",
+    "Multimedia",
+    "Navigation",
+    "Office",
+    "Phone & SMS",
+    "Reading",
+    "Science & Education",
+    "Security",
+    "System",
+    "Wallpaper",
+])
+
 
 def main():
 
@@ -153,11 +170,12 @@ def main():
             if app['Web Site'].lower() == app['Source Code'].lower():
                 warn("Website '%s' is just the app's source code link" % app['Web Site'])
 
-        # "None" still a category
-        if 'None' in app['Categories']:
-            warn("Category 'None' is is still present")
-        elif not app['Categories']:
+        # Missing or incorrect categories
+        if not app['Categories']:
             warn("Categories are not set")
+        for categ in app['Categories']:
+            if categ not in categories:
+                warn("Category '%s' is not valid" % categ)
 
         if app['Name'] and app['Name'] == app['Auto Name']:
             warn("Name '%s' is just the auto name" % app['Name'])