chiark / gitweb /
Check current market version for all apps in our repo - just displays, does not updat...
authorCiaran Gultnieks <ciaran@ciarang.com>
Wed, 27 Oct 2010 13:20:26 +0000 (14:20 +0100)
committerCiaran Gultnieks <ciaran@ciarang.com>
Wed, 27 Oct 2010 13:20:26 +0000 (14:20 +0100)
marketcheck/test.java

index 58b87138ad84c98555e9747c966cc4f1dfa35e3b..945ef95ab7d3ab48e8d0074f770544ac881e9e55 100644 (file)
@@ -1,5 +1,6 @@
 \r
-import java.io.FileOutputStream;\r
+import java.io.*;\r
+import java.util.*;\r
 \r
 import com.gc.android.market.api.MarketSession.Callback;\r
 import com.gc.android.market.api.MarketSession;\r
@@ -19,28 +20,34 @@ class test {
      */\r
     public static void main(String[] args) {\r
         try {\r
-            if(args.length < 3) {\r
+            if(args.length < 2) {\r
                 System.out.println("Parameters :\n" +\r
-                        "email password package");\r
+                        "email password");\r
                 return;\r
             }\r
-\r
-\r
             String login = args[0];\r
             String password = args[1];\r
-            String query = args.length > 2 ? args[2] : "Test";\r
+\r
+            // Get a list of apps we want to check - i.e. those that\r
+            // we have metadata files for...\r
+            File dir = new File("../metadata");\r
+            List<String> apps = new ArrayList<String>();\r
+            String[] metafiles = dir.list();\r
+            for (int i=0; i<metafiles.length; i++) {\r
+                String metafile = metafiles[i];\r
+                if(metafile.endsWith(".txt")) {\r
+                    String pkg = metafile.substring(0,\r
+                           metafile.length() - 4);\r
+                    apps.add(pkg);\r
+                }\r
+            }\r
+            System.out.println("Apps to check: " + apps.size());\r
 \r
             MarketSession session = new MarketSession();\r
             System.out.println("Login...");\r
             session.login(login,password);\r
             System.out.println("Login done");\r
 \r
-            AppsRequest appsRequest = AppsRequest.newBuilder()\r
-                .setQuery(query)\r
-                .setStartIndex(0).setEntriesCount(10)\r
-                .setWithExtendedInfo(true)\r
-                .build();\r
-\r
             MarketSession.Callback callback = new MarketSession.Callback() {\r
 \r
                 @Override\r
@@ -50,14 +57,27 @@ class test {
                             System.out.println("Not in market, or multiple results");\r
                         } else {\r
                             App app = response.getAppList().get(0);\r
-                            System.out.println("Version Code:" + app.getVersionCode());\r
-                            System.out.println("Version:" + app.getVersion());\r
+                            System.out.println("  Package:" + app.getPackageName());\r
+                            System.out.println("  Version Code:" + app.getVersionCode());\r
+                            System.out.println("  Version:" + app.getVersion());\r
                         }\r
                     }\r
-\r
             };\r
-            session.append(appsRequest, callback);\r
-            session.flush();\r
+\r
+            for(String pkg : apps) {\r
+                System.out.println("Checking: " + pkg);\r
+                AppsRequest appsRequest = AppsRequest.newBuilder()\r
+                    .setQuery("pname:" + pkg)\r
+                    .setStartIndex(0).setEntriesCount(10)\r
+                    .setWithExtendedInfo(true)\r
+                    .build();\r
+                session.append(appsRequest, callback);\r
+                session.flush();\r
+\r
+                // Pause to avoid rate limit...\r
+                Thread.sleep(5000);\r
+            }\r
+\r
         } catch(Exception ex) {\r
             ex.printStackTrace();\r
         }\r