[Python-checkins] release: add-to-pydotorg.py now detects if two files have the same slug, and if so
larry.hastings
python-checkins at python.org
Sat May 30 10:48:36 CEST 2015
https://hg.python.org/release/rev/e928125072aa
changeset: 98:e928125072aa
user: Larry Hastings <larry at hastings.org>
date: Sat May 30 01:48:32 2015 -0700
summary:
add-to-pydotorg.py now detects if two files have the same slug, and if so
reports an error without changing anything (including deleting the previous
downloadable files).
files:
add-to-pydotorg.py | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/add-to-pydotorg.py b/add-to-pydotorg.py
--- a/add-to-pydotorg.py
+++ b/add-to-pydotorg.py
@@ -191,14 +191,20 @@
rel_pk = query_object('release', name='Python+' + rel)
print 'Found Release object: id =', rel_pk
n = 0
+ file_dicts = {}
+ for rfile, file_desc, os_pk, add_desc in list_files(rel):
+ print 'Creating ReleaseFile object for', rfile
+ file_dict = build_file_dict(rel, rfile, rel_pk, file_desc, os_pk, add_desc)
+ key = file_dict['slug']
+ if key in file_dicts:
+ raise RuntimeError('duplicate slug generated: %s' % key)
+ file_dicts[key] = file_dict
print 'Deleting previous release files'
resp = requests.delete(base_url + 'downloads/release_file/?release=%s' % rel_pk,
headers=headers)
if resp.status_code != 204:
raise RuntimeError('deleting previous releases failed: %s' % resp.status_code)
- for rfile, file_desc, os_pk, add_desc in list_files(rel):
- print 'Creating ReleaseFile object for', rfile
- file_dict = build_file_dict(rel, rfile, rel_pk, file_desc, os_pk, add_desc)
+ for file_dict in file_dicts.values():
file_pk = post_object('release_file', file_dict)
if file_pk >= 0:
print 'Created as id =', file_pk
--
Repository URL: https://hg.python.org/release
More information about the Python-checkins
mailing list