From: <gr...@us...> - 2012-08-26 15:42:43
|
Revision: 7503 http://docutils.svn.sourceforge.net/docutils/?rev=7503&view=rev Author: grubert Date: 2012-08-26 15:42:37 +0000 (Sun, 26 Aug 2012) Log Message: ----------- Fix [3559988] and [3560841] __import__ local writer, reader, languages and parsers for Python 2.7 up. Modified Paths: -------------- trunk/docutils/HISTORY.txt trunk/docutils/THANKS.txt trunk/docutils/docutils/languages/__init__.py trunk/docutils/docutils/parsers/__init__.py trunk/docutils/docutils/parsers/rst/languages/__init__.py trunk/docutils/docutils/readers/__init__.py trunk/docutils/test/test_language.py Modified: trunk/docutils/HISTORY.txt =================================================================== --- trunk/docutils/HISTORY.txt 2012-08-24 09:50:46 UTC (rev 7502) +++ trunk/docutils/HISTORY.txt 2012-08-26 15:42:37 UTC (rev 7503) @@ -22,6 +22,8 @@ - ``docutils/math``, ``docutils/error_reporting.py``, and ``docutils/urischemes.py`` moved to the utils package. - Fix [3541369] Relative __import__ also with Python 3.3. + - Fix [3559988] and [3560841] __import__ local writer, reader, languages + and parsers for Python 2.7 up. * docutils/io.py Modified: trunk/docutils/THANKS.txt =================================================================== --- trunk/docutils/THANKS.txt 2012-08-24 09:50:46 UTC (rev 7502) +++ trunk/docutils/THANKS.txt 2012-08-26 15:42:37 UTC (rev 7503) @@ -110,6 +110,7 @@ * Panjunyong * Patrick K. O'Brien * Michel Pelletier +* Toshio Kuratomi * Sam Penrose * Tim Peters * Pearu Peterson Modified: trunk/docutils/docutils/languages/__init__.py =================================================================== --- trunk/docutils/docutils/languages/__init__.py 2012-08-24 09:50:46 UTC (rev 7502) +++ trunk/docutils/docutils/languages/__init__.py 2012-08-26 15:42:37 UTC (rev 7503) @@ -30,9 +30,12 @@ if tag in _languages: return _languages[tag] try: - module = __import__(tag, globals(), locals(), level=1) + module = __import__(tag, globals(), locals(), level=0) except ImportError: - continue + try: + module = __import__(tag, globals(), locals(), level=1) + except ImportError: + continue _languages[tag] = module return module if reporter is not None: Modified: trunk/docutils/docutils/parsers/__init__.py =================================================================== --- trunk/docutils/docutils/parsers/__init__.py 2012-08-24 09:50:46 UTC (rev 7502) +++ trunk/docutils/docutils/parsers/__init__.py 2012-08-26 15:42:37 UTC (rev 7503) @@ -46,5 +46,8 @@ parser_name = parser_name.lower() if parser_name in _parser_aliases: parser_name = _parser_aliases[parser_name] - module = __import__(parser_name, globals(), locals(), level=1) + try: + module = __import__(parser_name, globals(), locals(), level=0) + except ImportError: + module = __import__(parser_name, globals(), locals(), level=1) return module.Parser Modified: trunk/docutils/docutils/parsers/rst/languages/__init__.py =================================================================== --- trunk/docutils/docutils/parsers/rst/languages/__init__.py 2012-08-24 09:50:46 UTC (rev 7502) +++ trunk/docutils/docutils/parsers/rst/languages/__init__.py 2012-08-26 15:42:37 UTC (rev 7503) @@ -25,9 +25,12 @@ if tag in _languages: return _languages[tag] try: - module = __import__(tag, globals(), locals(), level=1) + module = __import__(tag, globals(), locals(), level=0) except ImportError: - continue + try: + module = __import__(tag, globals(), locals(), level=1) + except ImportError: + continue _languages[tag] = module return module return None Modified: trunk/docutils/docutils/readers/__init__.py =================================================================== --- trunk/docutils/docutils/readers/__init__.py 2012-08-24 09:50:46 UTC (rev 7502) +++ trunk/docutils/docutils/readers/__init__.py 2012-08-26 15:42:37 UTC (rev 7503) @@ -106,5 +106,8 @@ reader_name = reader_name.lower() if reader_name in _reader_aliases: reader_name = _reader_aliases[reader_name] - module = __import__(reader_name, globals(), locals(), level=1) + try: + module = __import__(reader_name, globals(), locals(), level=0) + except ImportError: + module = __import__(reader_name, globals(), locals(), level=1) return module.Reader Modified: trunk/docutils/test/test_language.py =================================================================== --- trunk/docutils/test/test_language.py 2012-08-24 09:50:46 UTC (rev 7502) +++ trunk/docutils/test/test_language.py 2012-08-26 15:42:37 UTC (rev 7503) @@ -53,6 +53,11 @@ # test language tag normalization: self.languages += ['en_gb', 'en_US', 'en-CA', 'de-DE', 'de-AT-1901', 'pt-BR', 'pt-foo-BR'] + # test that locally created language files are also loaded. + # requires local_dummy_lang.py in test directory (testroot) + # The local_dummy_lang.py contains all the fields from both + # the docutils language tags and the parser.rst language tags + self.languages += ['local_dummy_lang'] def generateTests(self): for language in self.languages: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |