[Python-checkins] cpython (3.5): Adds script for purging the caching server for downloads on python.org.
steve.dower
python-checkins at python.org
Mon Jun 27 15:31:14 EDT 2016
https://hg.python.org/cpython/rev/87440b63349b
changeset: 102217:87440b63349b
branch: 3.5
parent: 102213:2210765a2770
user: Steve Dower <steve.dower at microsoft.com>
date: Mon Jun 27 12:30:48 2016 -0700
summary:
Adds script for purging the caching server for downloads on python.org.
files:
Tools/msi/purge.py | 74 ++++++++++++++++++++++++++++++++++
1 files changed, 74 insertions(+), 0 deletions(-)
diff --git a/Tools/msi/purge.py b/Tools/msi/purge.py
new file mode 100644
--- /dev/null
+++ b/Tools/msi/purge.py
@@ -0,0 +1,74 @@
+# Purges the Fastly cache for Windows download files
+#
+# Usage:
+# py -3 purge.py 3.5.1rc1
+#
+
+__author__ = 'Steve Dower <steve.dower at python.org>'
+__version__ = '1.0.0'
+
+import re
+import sys
+
+from urllib.request import *
+
+VERSION_RE = re.compile(r'(\d+\.\d+\.\d+)(\w+\d+)?$')
+
+try:
+ m = VERSION_RE.match(sys.argv[1])
+ if not m:
+ print('Invalid version:', sys.argv[1])
+ print('Expected something like "3.5.1rc1"')
+ sys.exit(1)
+except LookupError:
+ print('Missing version argument. Expected something like "3.5.1rc1"')
+ sys.exit(1)
+
+URL = "https://www.python.org/ftp/python/{}/".format(m.group(1))
+
+
+FILES = [
+ "core.msi",
+ "core_d.msi",
+ "core_pdb.msi",
+ "dev.msi",
+ "dev_d.msi",
+ "doc.msi",
+ "exe.msi",
+ "exe_d.msi",
+ "exe_pdb.msi",
+ "launcher.msi",
+ "lib.msi",
+ "lib_d.msi",
+ "lib_pdb.msi",
+ "path.msi",
+ "pip.msi",
+ "tcltk.msi",
+ "tcltk_d.msi",
+ "tcltk_pdb.msi",
+ "test.msi",
+ "test_d.msi",
+ "test_pdb.msi",
+ "tools.msi",
+ "Windows6.0-KB2999226-x64.msu",
+ "Windows6.0-KB2999226-x86.msu",
+ "Windows6.1-KB2999226-x64.msu",
+ "Windows6.1-KB2999226-x86.msu",
+ "Windows8.1-KB2999226-x64.msu",
+ "Windows8.1-KB2999226-x86.msu",
+ "Windows8-RT-KB2999226-x64.msu",
+ "Windows8-RT-KB2999226-x86.msu",
+]
+PATHS = [
+ "python-{}.exe".format(m.group(0)),
+ "python-{}-webinstall.exe".format(m.group(0)),
+ "python-{}-amd64.exe".format(m.group(0)),
+ "python-{}-amd64-webinstall.exe".format(m.group(0)),
+] + ["win32{}/{}".format(m.group(2), f) for f in FILES] + ["amd64{}/{}".format(m.group(2), f) for f in FILES]
+
+print('Purged:')
+for n in PATHS:
+ u = URL + n
+ with urlopen(Request(u, method='PURGE', headers={'Fastly-Soft-Purge': 1})) as r:
+ r.read()
+ print(' ', u)
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list