public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:master commit in: pym/portage/, pym/portage/tests/lazyimport/
@ 2011-07-07 19:10 Zac Medico
  0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2011-07-07 19:10 UTC (permalink / raw
  To: gentoo-commits

commit:     ed303d89530b2aafaf1c8a95b2828d35dac7e006
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  7 19:10:08 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 19:10:08 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ed303d89

Remove the _ensure_encodings module.

This was only needed for ancient versions of python built with
USE=build since the ebuilds used to remove the encodings module in
that case. Since the StreamWriter and StreamReader classes may be
deprecated in the near future, now would be a good time to stop
using them.

---
 pym/portage/__init__.py                            |   24 ----
 pym/portage/_ensure_encodings.py                   |  132 --------------------
 .../test_lazy_import_portage_baseline.py           |    2 +-
 3 files changed, 1 insertions(+), 157 deletions(-)

diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index bc2eedb..47e2e48 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -327,30 +327,6 @@ _python_interpreter = os.path.realpath(sys.executable)
 _bin_path = PORTAGE_BIN_PATH
 _pym_path = PORTAGE_PYM_PATH
 
-def _ensure_default_encoding():
-
-	default_encoding = sys.getdefaultencoding().lower().replace('-', '_')
-	filesystem_encoding = _encodings['merge'].lower().replace('-', '_')
-	required_encodings = set(['ascii', 'utf_8'])
-	required_encodings.add(default_encoding)
-	required_encodings.add(filesystem_encoding)
-	missing_encodings = set()
-	for codec_name in required_encodings:
-		try:
-			codecs.lookup(codec_name)
-		except LookupError:
-			missing_encodings.add(codec_name)
-
-	if not missing_encodings:
-		return
-
-	from portage import _ensure_encodings
-	_ensure_encodings._setup_encodings(default_encoding,
-		filesystem_encoding, missing_encodings)
-
-# Do this ASAP since writemsg() might not work without it.
-_ensure_default_encoding()
-
 def _shell_quote(s):
 	"""
 	Quote a string in double-quotes and use backslashes to

diff --git a/pym/portage/_ensure_encodings.py b/pym/portage/_ensure_encodings.py
deleted file mode 100644
index 5e62843..0000000
--- a/pym/portage/_ensure_encodings.py
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-import codecs
-
-_codec_map = None
-
-def _setup_encodings(default_encoding, filesystem_encoding, missing_encodings):
-	"""
-	The <python-2.6.4 that's inside stage 1 or 2 is built with a minimal
-	configuration which does not include the /usr/lib/pythonX.Y/encodings
-	directory. This results in error like the following:
-
-	  LookupError: no codec search functions registered: can't find encoding
-
-	In order to solve this problem, detect it early and manually register
-	a search function for the ascii and utf_8 codecs. Starting with python-3.0
-	this problem is more noticeable because of stricter handling of encoding
-	and decoding between strings of characters and bytes.
-	"""
-
-	global _codec_map
-	_codec_map = _gen_missing_encodings(missing_encodings)
-
-	default_fallback = 'utf_8'
-
-	if default_encoding in missing_encodings and \
-		default_encoding not in _codec_map:
-		# Make the fallback codec correspond to whatever name happens
-		# to be returned by sys.getfilesystemencoding().
-
-		try:
-			_codec_map[default_encoding] = codecs.lookup(default_fallback)
-		except LookupError:
-			_codec_map[default_encoding] = _codec_map[default_fallback]
-
-	if filesystem_encoding in missing_encodings and \
-		filesystem_encoding not in _codec_map:
-		# Make the fallback codec correspond to whatever name happens
-		# to be returned by sys.getdefaultencoding().
-
-		try:
-			_codec_map[filesystem_encoding] = codecs.lookup(default_fallback)
-		except LookupError:
-			_codec_map[filesystem_encoding] = _codec_map[default_fallback]
-
-	codecs.register(_search_function)
-
-def _gen_missing_encodings(missing_encodings):
-
-	codec_map = {}
-
-	if 'ascii' in missing_encodings:
-
-		class AsciiIncrementalEncoder(codecs.IncrementalEncoder):
-			def encode(self, input, final=False):
-				return codecs.ascii_encode(input, self.errors)[0]
-
-		class AsciiIncrementalDecoder(codecs.IncrementalDecoder):
-			def decode(self, input, final=False):
-				return codecs.ascii_decode(input, self.errors)[0]
-
-		class AsciiStreamWriter(codecs.StreamWriter):
-			encode = codecs.ascii_encode
-
-		class AsciiStreamReader(codecs.StreamReader):
-			decode = codecs.ascii_decode
-
-		codec_info =  codecs.CodecInfo(
-			name='ascii',
-			encode=codecs.ascii_encode,
-			decode=codecs.ascii_decode,
-			incrementalencoder=AsciiIncrementalEncoder,
-			incrementaldecoder=AsciiIncrementalDecoder,
-			streamwriter=AsciiStreamWriter,
-			streamreader=AsciiStreamReader,
-		)
-
-		for alias in ('ascii', '646', 'ansi_x3.4_1968', 'ansi_x3_4_1968',
-			'ansi_x3.4_1986', 'cp367', 'csascii', 'ibm367', 'iso646_us',
-			'iso_646.irv_1991', 'iso_ir_6', 'us', 'us_ascii'):
-			codec_map[alias] = codec_info
-
-	if 'utf_8' in missing_encodings:
-
-		def utf8decode(input, errors='strict'):
-			return codecs.utf_8_decode(input, errors, True)
-
-		class Utf8IncrementalEncoder(codecs.IncrementalEncoder):
-			def encode(self, input, final=False):
-				return codecs.utf_8_encode(input, self.errors)[0]
-
-		class Utf8IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-			_buffer_decode = codecs.utf_8_decode
-
-		class Utf8StreamWriter(codecs.StreamWriter):
-			encode = codecs.utf_8_encode
-
-		class Utf8StreamReader(codecs.StreamReader):
-			decode = codecs.utf_8_decode
-
-		codec_info = codecs.CodecInfo(
-			name='utf-8',
-			encode=codecs.utf_8_encode,
-			decode=utf8decode,
-			incrementalencoder=Utf8IncrementalEncoder,
-			incrementaldecoder=Utf8IncrementalDecoder,
-			streamreader=Utf8StreamReader,
-			streamwriter=Utf8StreamWriter,
-		)
-
-		for alias in ('utf_8', 'u8', 'utf', 'utf8', 'utf8_ucs2', 'utf8_ucs4'):
-			codec_map[alias] = codec_info
-
-	return codec_map
-
-def _search_function(name):
-	global _codec_map
-	name = name.lower()
-	name = name.replace('-', '_')
-	codec_info = _codec_map.get(name)
-	if codec_info is not None:
-		return codecs.CodecInfo(
-			name=codec_info.name,
-			encode=codec_info.encode,
-			decode=codec_info.decode,
-			incrementalencoder=codec_info.incrementalencoder,
-			incrementaldecoder=codec_info.incrementaldecoder,
-			streamreader=codec_info.streamreader,
-			streamwriter=codec_info.streamwriter,
-		)
-	return None

diff --git a/pym/portage/tests/lazyimport/test_lazy_import_portage_baseline.py b/pym/portage/tests/lazyimport/test_lazy_import_portage_baseline.py
index 28cf284..08ccfa7 100644
--- a/pym/portage/tests/lazyimport/test_lazy_import_portage_baseline.py
+++ b/pym/portage/tests/lazyimport/test_lazy_import_portage_baseline.py
@@ -18,7 +18,7 @@ class LazyImportPortageBaselineTestCase(TestCase):
 	_baseline_imports = frozenset([
 		'portage.const', 'portage.localization',
 		'portage.proxy', 'portage.proxy.lazyimport',
-		'portage.proxy.objectproxy', 'portage._ensure_encodings',
+		'portage.proxy.objectproxy',
 		'portage._selinux',
 	])
 



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-07-07 19:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-07 19:10 [gentoo-commits] proj/portage:master commit in: pym/portage/, pym/portage/tests/lazyimport/ Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox