mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-05 15:00:30 +03:00
add index V1 format, a direct translation of internal dict
Python encode/decode libs work directly with dicts, so the internal dict can just be passed directly to any of these libs (pyyaml, pyjson, msgpack, simplejson, etc). This still generates the exact same index.xml as before. This converts the internal format for the repo timestamp to a datetime instance, which can be easily converted to UNIX time in seconds for XML and UNIX time in milliseconds for the new index formats. UNIX time in milliseconds is directly serialized into a java.util.Date instance by Jackson.
This commit is contained in:
parent
b3a5db52f7
commit
c9aa26d89e
5 changed files with 196 additions and 77 deletions
|
|
@ -137,6 +137,7 @@ def update_serverwebroot(serverwebroot, repo_section):
|
|||
rsyncargs += ['-e', 'ssh -i ' + config['identity_file']]
|
||||
indexxml = os.path.join(repo_section, 'index.xml')
|
||||
indexjar = os.path.join(repo_section, 'index.jar')
|
||||
indexv1jar = os.path.join(repo_section, 'index-v1.jar')
|
||||
# Upload the first time without the index files and delay the deletion as
|
||||
# much as possible, that keeps the repo functional while this update is
|
||||
# running. Then once it is complete, rerun the command again to upload
|
||||
|
|
@ -147,6 +148,7 @@ def update_serverwebroot(serverwebroot, repo_section):
|
|||
logging.info('rsyncing ' + repo_section + ' to ' + serverwebroot)
|
||||
if subprocess.call(rsyncargs +
|
||||
['--exclude', indexxml, '--exclude', indexjar,
|
||||
'--exclude', indexv1jar,
|
||||
repo_section, serverwebroot]) != 0:
|
||||
sys.exit(1)
|
||||
if subprocess.call(rsyncargs + [repo_section, serverwebroot]) != 0:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue