From 3bdd744b8e39b657b8de468b2163eec84d87a134 Mon Sep 17 00:00:00 2001 From: David-Sarah Hopwood <david-sarah@jacaranda.org> Date: Fri, 15 Mar 2013 04:41:53 +0000 Subject: [PATCH] Make doubly sure that we fail quickly on future Python 3.x versions. refs #1775 Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org> --- bin/tahoe-script.template | 6 +++--- setup.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/tahoe-script.template b/bin/tahoe-script.template index abcdaa01..e5a04e10 100644 --- a/bin/tahoe-script.template +++ b/bin/tahoe-script.template @@ -1,7 +1,7 @@ #!/bin/false # You must specify a python interpreter. -ur"Tahoe-LAFS does not run under Python 3. Please use a version of Python between 2.5 and 2.7.x inclusive." +import sys; assert sys.version_info < (3,), ur"Tahoe-LAFS does not run under Python 3. Please use a version of Python between 2.5 and 2.7.x inclusive." -import sys, os, subprocess +import os, subprocess where = os.path.realpath(sys.argv[0]) base = os.path.dirname(os.path.dirname(where)) @@ -63,7 +63,7 @@ if sys.platform == "win32": # Note that this doesn't escape \x7F. If it did, test_unicode_arguments_and_output # in test_runner.py wouldn't work. def mangle(s): - return str(re.sub(ur'[^\x20-\x7F]', lambda m: u'\x7F%x;' % (ord(m.group(0)),), s)) + return str(re.sub(u'[^\\x20-\\x7F]', lambda m: u'\x7F%x;' % (ord(m.group(0)),), s)) argv = [mangle(argv_unicode[i]) for i in xrange(0, argc.value)] diff --git a/setup.py b/setup.py index 6276151b..46db1921 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- -ur"Tahoe-LAFS does not run under Python 3. Please use a version of Python between 2.5 and 2.7.x inclusive." +import sys; assert sys.version_info < (3,), ur"Tahoe-LAFS does not run under Python 3. Please use a version of Python between 2.5 and 2.7.x inclusive." # Tahoe-LAFS -- secure, distributed storage grid # @@ -10,7 +10,7 @@ ur"Tahoe-LAFS does not run under Python 3. Please use a version of Python betwee # # See the docs/about.rst file for licensing information. -import glob, os, stat, subprocess, sys, re +import glob, os, stat, subprocess, re ##### sys.path management -- 2.45.2