1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-14 02:50:12 +01:00

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.
This commit is contained in:
Hans-Christoph Steiner 2016-11-28 15:23:59 +01:00
parent d54ad41938
commit 78a3e35ef7

View 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']: