Source code for galaxy.util.aliaspickler

import pickle
from cStringIO import StringIO

[docs]class AliasUnpickler( pickle.Unpickler ): def __init__( self, aliases, *args, **kw): pickle.Unpickler.__init__( self, *args, **kw ) self.aliases = aliases
[docs] def find_class( self, module, name ): module, name = self.aliases.get((module,name), (module,name)) return pickle.Unpickler.find_class( self, module, name )
[docs]class AliasPickleModule( object ): def __init__( self, aliases ): self.aliases = aliases
[docs] def dump( self, obj, fileobj, protocol=0): return pickle.dump( obj, fileobj, protocol )
[docs] def dumps( self, obj, protocol=0 ): return pickle.dumps( obj, protocol )
[docs] def load( self, fileobj ): return AliasUnpickler( self.aliases, fileobj ).load()
[docs] def loads( self, string ): fileobj = StringIO( string ) return AliasUnpickler( self.aliases, fileobj ).load()