Unicode support in PythonMethods
The patch below to PythonMethods gives them the same level of Unicode support as my main Unicode patch does for DTML.
Caution: PythonMethods are not yet secure in Python 2.0, and this patch needs 2.0. Use it at your own risk.
Index: VSExec.py
===================================================================
RCS file: /cvs-repository/Products/DC/PythonMethod/zbytecodehacks/VSExec.py,v
retrieving revision 1.3
diff -c -r1.3 VSExec.py
*** VSExec.py 2000/08/31 22:08:56 1.3
--- VSExec.py 2000/10/19 10:28:30
***************
*** 228,234 ****
add('\n')
def _join_printed(printlist):
return join(printlist, '')
! _join_printed = bind(_join_printed, join=join, map=map, str=str)
general_special_globals['$print_handler'] = _print_handler
general_special_globals['$join_printed'] = _join_printed
--- 228,247 ----
add('\n')
def _join_printed(printlist):
return join(printlist, '')
!
! try:
! from DocumentTemplate.DT_Util import join_unicode
! except ImportError:
! # Use pre-unicode methods
! _join_printed = bind(_join_printed, join=join)
! _print_handler = bind(_print_handler, str=str)
! else:
! # Use Unicode methods if they are available
! # These methods are implemented by the proposal at
! # http://dev.zope.org/Wikis/DevSite/Proposals/UnicodeSupport
! _join_printed = bind(_join_printed, join=join_unicode)
! _print_handler = bind(_print_handler, str=ustr)
!
general_special_globals['$print_handler'] = _print_handler
general_special_globals['$join_printed'] = _join_printed