[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