From: Hans-Christoph Steiner Date: Mon, 28 Nov 2016 14:23:59 +0000 (+0100) Subject: break out categories.txt generation to standalone method X-Git-Tag: 0.8~131^2~2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=78a3e35ef797e2ce00f7ffe37c05f0fc99ea2de5;p=fdroidserver.git break out categories.txt generation to standalone method 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. --- diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 2c189e9f..48509e65 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -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']: