""" 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