[jhbuild] remove python < 2.4 compatibility code (GNOME bug 701181)
- From: Frederic Peters <fpeters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [jhbuild] remove python < 2.4 compatibility code (GNOME bug 701181)
- Date: Sat, 23 Nov 2013 17:48:01 +0000 (UTC)
commit c9625a9e3c31d18859a65eb22a363fa9647d6c9e
Author: Frédéric Péters <fpeters 0d be>
Date: Sat Nov 23 18:45:30 2013 +0100
remove python < 2.4 compatibility code (GNOME bug 701181)
configure.ac | 1 -
jhbuild/Makefile.am | 2 +-
jhbuild/cut_n_paste/Makefile.am | 6 -
jhbuild/cut_n_paste/subprocess.py | 1165 -------------------------------------
jhbuild/monkeypatch.py | 146 -----
scripts/hg-update.py | 8 +-
6 files changed, 2 insertions(+), 1326 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 408f549..4d7a665 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,7 +46,6 @@ AC_CONFIG_FILES([
jhbuild/buildbot/status/web/Makefile
jhbuild/buildbot/status/Makefile
jhbuild/commands/Makefile
- jhbuild/cut_n_paste/Makefile
jhbuild/frontends/Makefile
jhbuild/modtypes/Makefile
jhbuild/utils/Makefile
diff --git a/jhbuild/Makefile.am b/jhbuild/Makefile.am
index cd5fde4..2b02927 100644
--- a/jhbuild/Makefile.am
+++ b/jhbuild/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = buildbot commands cut_n_paste frontends modtypes utils versioncontrol
+SUBDIRS = buildbot commands frontends modtypes utils versioncontrol
appdir = $(pythondir)/jhbuild/
diff --git a/jhbuild/monkeypatch.py b/jhbuild/monkeypatch.py
index 0d49905..cee22aa 100644
--- a/jhbuild/monkeypatch.py
+++ b/jhbuild/monkeypatch.py
@@ -24,149 +24,3 @@ import __builtin__
if sys.platform.startswith('win'):
from jhbuild.utils import subprocess_win32
sys.modules['subprocess'] = subprocess_win32
-
-# Python < 2.4 lacks reversed() builtin
-if not hasattr(__builtin__, 'reversed'):
- def reversed(l):
- l = list(l)
- l.reverse()
- return iter(l)
- __builtin__.reversed = reversed
-
-# Python < 2.4 lacks string.Template class
-import string
-if not hasattr(string, 'Template'):
- import re as _re
-
- class _multimap:
- """Helper class for combining multiple mappings.
-
- Used by .{safe_,}substitute() to combine the mapping and keyword
- arguments.
- """
- def __init__(self, primary, secondary):
- self._primary = primary
- self._secondary = secondary
-
- def __getitem__(self, key):
- try:
- return self._primary[key]
- except KeyError:
- return self._secondary[key]
-
-
- class _TemplateMetaclass(type):
- pattern = r"""
- %(delim)s(?:
- (?P<escaped>%(delim)s) | # Escape sequence of two delimiters
- (?P<named>%(id)s) | # delimiter and a Python identifier
- {(?P<braced>%(id)s)} | # delimiter and a braced identifier
- (?P<invalid>) # Other ill-formed delimiter exprs
- )
- """
-
- def __init__(cls, name, bases, dct):
- super(_TemplateMetaclass, cls).__init__(name, bases, dct)
- if 'pattern' in dct:
- pattern = cls.pattern
- else:
- pattern = _TemplateMetaclass.pattern % {
- 'delim' : _re.escape(cls.delimiter),
- 'id' : cls.idpattern,
- }
- cls.pattern = _re.compile(pattern, _re.IGNORECASE | _re.VERBOSE)
-
-
- class Template:
- """A string class for supporting $-substitutions."""
- __metaclass__ = _TemplateMetaclass
- __module__ = 'string'
-
- delimiter = '$'
- idpattern = r'[_a-z][_a-z0-9]*'
-
- def __init__(self, template):
- self.template = template
-
- # Search for $$, $identifier, ${identifier}, and any bare $'s
-
- def _invalid(self, mo):
- i = mo.start('invalid')
- lines = self.template[:i].splitlines(True)
- if not lines:
- colno = 1
- lineno = 1
- else:
- colno = i - len(''.join(lines[:-1]))
- lineno = len(lines)
- raise ValueError(_('Invalid placeholder in string: line %d, col %d') %
- (lineno, colno))
-
- def substitute(self, *args, **kws):
- if len(args) > 1:
- raise TypeError(_('Too many positional arguments'))
- if not args:
- mapping = kws
- elif kws:
- mapping = _multimap(kws, args[0])
- else:
- mapping = args[0]
- # Helper function for .sub()
- def convert(mo):
- # Check the most common path first.
- named = mo.group('named') or mo.group('braced')
- if named is not None:
- val = mapping[named]
- # We use this idiom instead of str() because the latter will
- # fail if val is a Unicode containing non-ASCII characters.
- return '%s' % val
- if mo.group('escaped') is not None:
- return self.delimiter
- if mo.group('invalid') is not None:
- self._invalid(mo)
- raise ValueError(_('Unrecognized named group in pattern'),
- self.pattern)
- return self.pattern.sub(convert, self.template)
-
- def safe_substitute(self, *args, **kws):
- if len(args) > 1:
- raise TypeError(_('Too many positional arguments'))
- if not args:
- mapping = kws
- elif kws:
- mapping = _multimap(kws, args[0])
- else:
- mapping = args[0]
- # Helper function for .sub()
- def convert(mo):
- named = mo.group('named')
- if named is not None:
- try:
- # We use this idiom instead of str() because the latter
- # will fail if val is a Unicode containing non-ASCII
- return '%s' % mapping[named]
- except KeyError:
- return self.delimiter + named
- braced = mo.group('braced')
- if braced is not None:
- try:
- return '%s' % mapping[braced]
- except KeyError:
- return self.delimiter + '{' + braced + '}'
- if mo.group('escaped') is not None:
- return self.delimiter
- if mo.group('invalid') is not None:
- return self.delimiter
- raise ValueError(_('Unrecognized named group in pattern'),
- self.pattern)
- return self.pattern.sub(convert, self.template)
-
- string.Template = Template
-
-# Python < 2.4 lacks subprocess module
-try:
- import subprocess
-except ImportError:
- from jhbuild.cut_n_paste import subprocess
- sys.modules['subprocess'] = subprocess
-
diff --git a/scripts/hg-update.py b/scripts/hg-update.py
index e64f6c5..4b7d40d 100755
--- a/scripts/hg-update.py
+++ b/scripts/hg-update.py
@@ -22,13 +22,7 @@ import os
import sys
import re
-try:
- from subprocess import Popen, call, PIPE, STDOUT
-except ImportError: # Python < 2.4 lacks subprocess module
- sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
- from jhbuild.cut_n_paste import subprocess
- sys.modules['subprocess'] = subprocess
- from subprocess import Popen, call, PIPE, STDOUT
+from subprocess import Popen, call, PIPE, STDOUT
def get_parent():
hg = Popen(['hg', 'parents', '--template', '{rev}'], stdout=PIPE)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]