[Stackless] Fwd: deepcopying (pickling) channels
Christian Tismer
tismer at stackless.com
Sat Nov 2 01:25:43 CET 2013
On 01.11.13 23:57, Christian Tismer wrote:
...
Ok, this one is probably better.
It is also independant from the python version.
It will also give you a hint when it becomes obsolete at some later time ;-)
#------------------------------------------------------------------
# universal pickling wrapper for WingIDE
import os
def wing_hack(logger):
'''
when wing has replaced __import__, wrap that with a function
that pretends to be the original __import__
'''
import sys
if sys.version_info[0] >= 3:
import builtins
else:
import __builtin__ as builtins
imp = builtins.__import__
if imp.__name__ != '__import__':
logger.info("fixing Wing's import hook")
def __import__(*args, **kw):
return imp(*args, **kw)
__import__.__module__ = builtins.__name__
builtins.__import__ = __import__
else:
logger.warn("you can trash the Wing hack")
if 'WINGDB_PYTHON' in os.environ:
import logging
logging.basicConfig(level=logging.INFO)
wing_hack(logging.getLogger('WingIDE'))
if __name__ == '__main__':
import unittest
import pickle
import sys
@unittest.skipIf('Stackless' not in sys.version, 'Stackless only')
class Test(unittest.TestCase):
def testAPickle(self):
def test():
pass
string = pickle.dumps(test)
unittest.main()
#------------------------------------------------------------------
--
Christian Tismer :^) <mailto:tismer at stackless.com>
Software Consulting : Have a break! Take a ride on Python's
Karl-Liebknecht-Str. 121 : *Starship* http://starship.python.net/
14482 Potsdam : PGP key -> http://pgp.uni-mainz.de
phone +49 173 24 18 776 fax +49 (30) 700143-0023
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
More information about the Stackless
mailing list