chiark / gitweb /
break out categories.txt generation to standalone method
authorHans-Christoph Steiner <hans@eds.org>
Mon, 28 Nov 2016 14:23:59 +0000 (15:23 +0100)
committerHans-Christoph Steiner <hans@eds.org>
Fri, 20 Jan 2017 09:47:35 +0000 (10:47 +0100)
This is to clean up the code for the introduction of a new index format.
This also makes it so that only repo/categories.txt is generated, and not
archive/categories.txt.

Currently, the only thing that I can find that reads categories.txt is the
wordpress plugin, e.g. wp-fdroid.  And it only reads repo/categories.txt
not archive/categories.txt.

fdroidserver/update.py

index 2c189e9fd778053c59c55edf6dd87539c73312cc..48509e6542c00fa455cbed5fd0c3ef27f3929098 100644 (file)
@@ -961,8 +961,8 @@ def extract_pubkey():
     return hexlify(pubkey)
 
 
-def make_index(apps, sortedids, apks, repodir, archive, categories):
-    """Make a repo index.
+def make_index(apps, sortedids, apks, repodir, archive):
+    """Generate the repo index files.
 
     :param apps: fully populated apps list
     :param apks: full populated apks list
@@ -1297,7 +1297,9 @@ def make_index(apps, sortedids, apks, repodir, archive, categories):
     iconfilename = os.path.join(icon_dir, os.path.basename(config['repo_icon']))
     shutil.copyfile(config['repo_icon'], iconfilename)
 
-    # Write a category list in the repo to allow quick access...
+
+def make_categories_txt(repodir, categories):
+    '''Write a category list in the repo to allow quick access'''
     catdata = ''
     for cat in categories:
         catdata += cat + '\n'
@@ -1612,7 +1614,7 @@ def main():
             appdict = dict()
             appdict[appid] = app
             if os.path.isdir(repodir):
-                make_index(appdict, [appid], apks, repodir, False, categories)
+                make_index(appdict, [appid], apks, repodir, False)
             else:
                 logging.info('Skipping index generation for ' + appid)
         return
@@ -1621,12 +1623,13 @@ def main():
         archive_old_apks(apps, apks, archapks, repodirs[0], repodirs[1], config['archive_older'])
 
     # Make the index for the main repo...
-    make_index(apps, sortedids, apks, repodirs[0], False, categories)
+    make_index(apps, sortedids, apks, repodirs[0], False)
+    make_categories_txt(repodirs[0], categories)
 
     # If there's an archive repo,  make the index for it. We already scanned it
     # earlier on.
     if len(repodirs) > 1:
-        make_index(apps, sortedids, archapks, repodirs[1], True, categories)
+        make_index(apps, sortedids, archapks, repodirs[1], True)
 
     if config['update_stats']: