[jhbuild] remove python < 2.4 compatibility code (GNOME bug 701181)



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]