chiark / gitweb /
Latest 10 apps (not entirely correct yet, missing some data)
authorCiaran Gultnieks <ciaran@ciarang.com>
Sun, 22 Jan 2012 14:03:56 +0000 (14:03 +0000)
committerCiaran Gultnieks <ciaran@ciarang.com>
Sun, 22 Jan 2012 14:03:56 +0000 (14:03 +0000)
common.py
updatestats.py

index d45523753e95376c8a39de38c65ce05a47525ea8..e651e542caebaa838d0bd1d5826b3e91baef3469 100644 (file)
--- a/common.py
+++ b/common.py
@@ -20,6 +20,7 @@ import glob, os, sys, re
 import shutil
 import subprocess
 import time
+import operator
 
 def getvcs(vcstype, remote, local):
     if vcstype == 'git':
@@ -821,3 +822,20 @@ class KnownApks:
         if apkname in self.apks:
             return self.apks[apkname]
         return None
+
+    def getlatest(self, num):
+        apps = {}
+        for apk, app in self.apks.iteritems():
+            appid, added = app
+            if added:
+                if appid in apps:
+                    if apps[appid] > added:
+                        apps[appid] = added
+                else:
+                    apps[appid] = added
+        sortedapps = sorted(apps.iteritems(), key=operator.itemgetter(1))[-num:]
+        lst = []
+        for app, added in sortedapps:
+            lst.append(app)
+        return lst
+
index 4c7b1c57951a1638d8f401019a7e7e862fc1c96f..61feb84500fca27eaa8ef6630c90da3362cbea31 100755 (executable)
@@ -121,6 +121,7 @@ for logfile in glob.glob(os.path.join(logsdir,'access-*.log')):
                     if not apkname in unknownapks:
                         unknownapks.append(apkname)
 
+# Calculate and write stats for total downloads...
 f = open('stats/total_downloads_app.txt', 'w')
 lst = []
 alldownloads = 0
@@ -133,6 +134,13 @@ for line in sorted(lst):
     f.write(line + '\n')
 f.close()
 
+# Write list of latest apps added to the repo...
+latest = knownapks.getlatest(10)
+f = open('stats/latestapps.txt', 'w')
+for app in latest:
+    f.write(app + '\n')
+f.close()
+
 if len(unknownapks) > 0:
     print '\nUnknown apks:'
     for apk in unknownapks: