Author: Alexander Hesse <[email protected]> Branch: split-rpython Changeset: r59962:9c4b2ece9cd4 Date: 2013-01-11 18:52 +0100 http://bitbucket.org/pypy/pypy/changeset/9c4b2ece9cd4/
Log: Moved most parts of unicodedb to rpython diff --git a/pypy/module/unicodedata/__init__.py b/pypy/module/unicodedata/__init__.py --- a/pypy/module/unicodedata/__init__.py +++ b/pypy/module/unicodedata/__init__.py @@ -2,7 +2,7 @@ # This is the default unicodedb used in various places: # - the unicode type # - the regular expression engine -from pypy.module.unicodedata import unicodedb_5_2_0 as unicodedb +from rpython.rlib.unicodedata import unicodedb_5_2_0 as unicodedb # to get information about individual unicode chars look at: # http://www.fileformat.info/info/unicode/char/search.htm diff --git a/pypy/module/unicodedata/interp_ucd.py b/pypy/module/unicodedata/interp_ucd.py --- a/pypy/module/unicodedata/interp_ucd.py +++ b/pypy/module/unicodedata/interp_ucd.py @@ -8,9 +8,9 @@ from rpython.rlib.rarithmetic import r_longlong from rpython.rlib.objectmodel import we_are_translated from rpython.rlib.runicode import MAXUNICODE +from rpython.rlib.unicodedata import unicodedb_5_2_0, unicodedb_3_2_0 import sys -from pypy.module.unicodedata import unicodedb_5_2_0, unicodedb_3_2_0 # Contants for Hangul characters SBase = 0xAC00 diff --git a/pypy/module/unicodedata/test_interp_ucd.py b/pypy/module/unicodedata/test_interp_ucd.py new file mode 100644 --- /dev/null +++ b/pypy/module/unicodedata/test_interp_ucd.py @@ -0,0 +1,22 @@ +from rpython.rtyper.test.tool import BaseRtypingTest, LLRtypeMixin +from rpython.rlib.unicodedata import unicodedb_5_2_0 +from pypy.module.unicodedata.interp_ucd import code_to_unichr + +class TestTranslated(BaseRtypingTest, LLRtypeMixin): + + def test_translated(self): + def f(n): + if n == 0: + return -1 + else: + u = unicodedb_5_2_0.lookup("GOTHIC LETTER FAIHU") + return u + res = self.interpret(f, [1]) + print hex(res) + assert res == f(1) + + def test_code_to_unichr(self): + def f(c): + return code_to_unichr(c) + u'' + res = self.ll_to_unicode(self.interpret(f, [0x10346])) + assert res == u'\U00010346' diff --git a/rpython/rlib/rsre/rsre_re.py b/rpython/rlib/rsre/rsre_re.py --- a/rpython/rlib/rsre/rsre_re.py +++ b/rpython/rlib/rsre/rsre_re.py @@ -5,7 +5,7 @@ import re, sys from rpython.rlib.rsre import rsre_core, rsre_char from rpython.rlib.rsre.test.test_match import get_code as _get_code -from pypy.module.unicodedata import unicodedb +from rpython.rlib.unicodedata import unicodedb from rpython.rlib.objectmodel import specialize rsre_char.set_unicode_db(unicodedb) diff --git a/rpython/rlib/runicode.py b/rpython/rlib/runicode.py --- a/rpython/rlib/runicode.py +++ b/rpython/rlib/runicode.py @@ -4,7 +4,7 @@ from rpython.rlib.objectmodel import we_are_translated, specialize, enforceargs from rpython.rlib.rstring import StringBuilder, UnicodeBuilder from rpython.rlib.rarithmetic import r_uint, intmask -from pypy.module.unicodedata import unicodedb +from rpython.rlib.unicodedata import unicodedb if rffi.sizeof(lltype.UniChar) == 4: MAXUNICODE = 0x10ffff diff --git a/pypy/module/unicodedata/CompositionExclusions-3.2.0.txt b/rpython/rlib/unicodedata/CompositionExclusions-3.2.0.txt rename from pypy/module/unicodedata/CompositionExclusions-3.2.0.txt rename to rpython/rlib/unicodedata/CompositionExclusions-3.2.0.txt diff --git a/pypy/module/unicodedata/CompositionExclusions-5.2.0.txt b/rpython/rlib/unicodedata/CompositionExclusions-5.2.0.txt rename from pypy/module/unicodedata/CompositionExclusions-5.2.0.txt rename to rpython/rlib/unicodedata/CompositionExclusions-5.2.0.txt diff --git a/pypy/module/unicodedata/EastAsianWidth-3.2.0.txt b/rpython/rlib/unicodedata/EastAsianWidth-3.2.0.txt rename from pypy/module/unicodedata/EastAsianWidth-3.2.0.txt rename to rpython/rlib/unicodedata/EastAsianWidth-3.2.0.txt diff --git a/pypy/module/unicodedata/EastAsianWidth-5.2.0.txt b/rpython/rlib/unicodedata/EastAsianWidth-5.2.0.txt rename from pypy/module/unicodedata/EastAsianWidth-5.2.0.txt rename to rpython/rlib/unicodedata/EastAsianWidth-5.2.0.txt diff --git a/pypy/module/unicodedata/LineBreak-3.2.0.txt b/rpython/rlib/unicodedata/LineBreak-3.2.0.txt rename from pypy/module/unicodedata/LineBreak-3.2.0.txt rename to rpython/rlib/unicodedata/LineBreak-3.2.0.txt diff --git a/pypy/module/unicodedata/LineBreak-5.2.0.txt b/rpython/rlib/unicodedata/LineBreak-5.2.0.txt rename from pypy/module/unicodedata/LineBreak-5.2.0.txt rename to rpython/rlib/unicodedata/LineBreak-5.2.0.txt diff --git a/pypy/module/unicodedata/UnicodeData-3.2.0.txt b/rpython/rlib/unicodedata/UnicodeData-3.2.0.txt rename from pypy/module/unicodedata/UnicodeData-3.2.0.txt rename to rpython/rlib/unicodedata/UnicodeData-3.2.0.txt diff --git a/pypy/module/unicodedata/UnicodeData-5.2.0.txt b/rpython/rlib/unicodedata/UnicodeData-5.2.0.txt rename from pypy/module/unicodedata/UnicodeData-5.2.0.txt rename to rpython/rlib/unicodedata/UnicodeData-5.2.0.txt diff --git a/pypy/module/unicodedata/UnihanNumeric-3.2.0.txt b/rpython/rlib/unicodedata/UnihanNumeric-3.2.0.txt rename from pypy/module/unicodedata/UnihanNumeric-3.2.0.txt rename to rpython/rlib/unicodedata/UnihanNumeric-3.2.0.txt diff --git a/pypy/module/unicodedata/UnihanNumeric-5.2.0.txt b/rpython/rlib/unicodedata/UnihanNumeric-5.2.0.txt rename from pypy/module/unicodedata/UnihanNumeric-5.2.0.txt rename to rpython/rlib/unicodedata/UnihanNumeric-5.2.0.txt diff --git a/pypy/module/unicodedata/__init__.py b/rpython/rlib/unicodedata/__init__.py copy from pypy/module/unicodedata/__init__.py copy to rpython/rlib/unicodedata/__init__.py --- a/pypy/module/unicodedata/__init__.py +++ b/rpython/rlib/unicodedata/__init__.py @@ -1,24 +1,7 @@ -from pypy.interpreter.mixedmodule import MixedModule # This is the default unicodedb used in various places: # - the unicode type # - the regular expression engine -from pypy.module.unicodedata import unicodedb_5_2_0 as unicodedb +from rpython.rlib.unicodedata import unicodedb_5_2_0 as unicodedb # to get information about individual unicode chars look at: # http://www.fileformat.info/info/unicode/char/search.htm - -class Module(MixedModule): - appleveldefs = { - } - interpleveldefs = { - 'unidata_version' : 'space.wrap(interp_ucd.ucd.version)', - 'ucd_3_2_0' : 'space.wrap(interp_ucd.ucd_3_2_0)', - 'ucd_5_2_0' : 'space.wrap(interp_ucd.ucd_5_2_0)', - 'ucd' : 'space.wrap(interp_ucd.ucd)', - '__doc__' : "space.wrap('unicode character database')", - } - for name in '''lookup name decimal digit numeric category bidirectional - east_asian_width combining mirrored decomposition - normalize _get_code'''.split(): - interpleveldefs[name] = '''space.getattr(space.wrap(interp_ucd.ucd), - space.wrap("%s"))''' % name diff --git a/pypy/module/unicodedata/generate_unicodedb.py b/rpython/rlib/unicodedata/generate_unicodedb.py rename from pypy/module/unicodedata/generate_unicodedb.py rename to rpython/rlib/unicodedata/generate_unicodedb.py diff --git a/pypy/module/unicodedata/test/test_trie.py b/rpython/rlib/unicodedata/test/test_trie.py rename from pypy/module/unicodedata/test/test_trie.py rename to rpython/rlib/unicodedata/test/test_trie.py --- a/pypy/module/unicodedata/test/test_trie.py +++ b/rpython/rlib/unicodedata/test/test_trie.py @@ -1,7 +1,7 @@ import py import StringIO -from pypy.module.unicodedata import triegenerator +from rpython.rlib.unicodedata import triegenerator def setup_module(mod): mod.tmpdir = py.test.ensuretemp(mod.__name__) diff --git a/pypy/module/unicodedata/test/test_unicodedata.py b/rpython/rlib/unicodedata/test/test_unicodedata.py rename from pypy/module/unicodedata/test/test_unicodedata.py rename to rpython/rlib/unicodedata/test/test_unicodedata.py --- a/pypy/module/unicodedata/test/test_unicodedata.py +++ b/rpython/rlib/unicodedata/test/test_unicodedata.py @@ -1,5 +1,4 @@ -from rpython.rtyper.test.tool import BaseRtypingTest, LLRtypeMixin -from pypy.module.unicodedata import unicodedb_3_2_0, unicodedb_5_2_0 +from rpython.rlib.unicodedata import unicodedb_3_2_0, unicodedb_5_2_0 class AppTestUnicodeData: spaceconfig = dict(usemodules=('unicodedata',)) @@ -177,25 +176,4 @@ raises(KeyError, unicodedb_3_2_0.lookup, 'BENZENE RING WITH CIRCLE') raises(KeyError, unicodedb_3_2_0.name, 9187) -class TestTranslated(BaseRtypingTest, LLRtypeMixin): - def test_translated(self): - def f(n): - if n == 0: - return -1 - else: - u = unicodedb_5_2_0.lookup("GOTHIC LETTER FAIHU") - return u - res = self.interpret(f, [1]) - print hex(res) - assert res == f(1) - - def test_code_to_unichr(self): - from pypy.module.unicodedata.interp_ucd import code_to_unichr - def f(c): - return code_to_unichr(c) + u'' - res = self.ll_to_unicode(self.interpret(f, [0x10346])) - assert res == u'\U00010346' - - - diff --git a/pypy/module/unicodedata/triegenerator.py b/rpython/rlib/unicodedata/triegenerator.py rename from pypy/module/unicodedata/triegenerator.py rename to rpython/rlib/unicodedata/triegenerator.py diff --git a/pypy/module/unicodedata/unicodedb_3_2_0.py b/rpython/rlib/unicodedata/unicodedb_3_2_0.py rename from pypy/module/unicodedata/unicodedb_3_2_0.py rename to rpython/rlib/unicodedata/unicodedb_3_2_0.py diff --git a/pypy/module/unicodedata/unicodedb_5_2_0.py b/rpython/rlib/unicodedata/unicodedb_5_2_0.py rename from pypy/module/unicodedata/unicodedb_5_2_0.py rename to rpython/rlib/unicodedata/unicodedb_5_2_0.py _______________________________________________ pypy-commit mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-commit
