""" mxTextTools - A tools package for fast text processing.
Copyright (c) 2000, Marc-Andre Lemburg; mailto:mal@lemburg.com
Copyright (c) 2000-2003, eGenix.com Software GmbH; mailto:info@egenix.com
Copyright (c) 2003-2006, Mike Fletcher; mailto:mcfletch@vrplumber.com
See the documentation for further information on copyrights,
or contact the author. All Rights Reserved.
"""
from TextTools import *
from TextTools import __version__
### Make the types pickleable:
# Shortcuts for pickle (reduces the pickle's length)
def _CS(definition):
return CharSet(definition)
def _TT(definition):
return TagTable(definition)
def _TS(match,translate,algorithm):
return TextSearch(match,translate,algorithm)
# Needed for backward compatibility:
def _BMS(match,translate):
return BMS(match,translate)
def _FS(match,translate):
return FS(match,translate)
# Module init
class modinit:
### Register the types
import copy_reg
def pickle_CharSet(cs):
return _CS,(cs.definition,)
def pickle_TagTable(tt):
return _TT,(tt.compiled(),)
def pickle_TextSearch(ts):
return _TS,(ts.match, ts.translate, ts.algorithm)
copy_reg.pickle(CharSetType,
pickle_CharSet,
_CS)
copy_reg.pickle(TagTableType,
pickle_TagTable,
_TT)
copy_reg.pickle(TextSearchType,
pickle_TextSearch,
_TS)
if 0:
def pickle_BMS(so):
return _BMS,(so.match,so.translate)
def pickle_FS(so):
return _FS,(so.match,so.translate)
copy_reg.pickle(BMSType,
pickle_BMS,
_BMS)
copy_reg.pickle(FSType,
pickle_FS,
_FS)
del modinit
|