From b1567269cd875b8f8d5be3f26ebed7073ec3e10f 2013-09-18 16:24:48 From: Thomas Kluyver Date: 2013-09-18 16:24:48 Subject: [PATCH] Remove IPython.core.fakemodule --- diff --git a/IPython/core/fakemodule.py b/IPython/core/fakemodule.py deleted file mode 100644 index 41029f5..0000000 --- a/IPython/core/fakemodule.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Class which mimics a module. - -Needed to allow pickle to correctly resolve namespaces during IPython -sessions. -""" - -#***************************************************************************** -# Copyright (C) 2002-2004 Fernando Perez. -# -# Distributed under the terms of the BSD License. The full license is in -# the file COPYING, distributed as part of this software. -#***************************************************************************** - -import types - -def init_fakemod_dict(fm,adict=None): - """Initialize a FakeModule instance __dict__. - - Kept as a standalone function and not a method so the FakeModule API can - remain basically empty. - - This should be considered for private IPython use, used in managing - namespaces for %run. - - Parameters - ---------- - - fm : FakeModule instance - - adict : dict, optional - """ - - dct = {} - # It seems pydoc (and perhaps others) needs any module instance to - # implement a __nonzero__ method, so we add it if missing: - dct.setdefault('__nonzero__',lambda : True) - dct.setdefault('__file__',__file__) - - if adict is not None: - dct.update(adict) - - # Hard assignment of the object's __dict__. This is nasty but deliberate. - fm.__dict__.clear() - fm.__dict__.update(dct) - - -class FakeModule(types.ModuleType): - """Simple class with attribute access to fake a module. - - This is not meant to replace a module, but to allow inserting a fake - module in sys.modules so that systems which rely on run-time module - importing (like shelve and pickle) work correctly in interactive IPython - sessions. - - Do NOT use this code for anything other than this IPython private hack.""" - - def __init__(self,adict=None): - - # tmp to force __dict__ instance creation, else self.__dict__ fails - self.__iptmp = None - # cleanup our temp trick - del self.__iptmp - # Now, initialize the actual data in the instance dict. - init_fakemod_dict(self,adict) diff --git a/IPython/core/tests/test_fakemodule.py b/IPython/core/tests/test_fakemodule.py deleted file mode 100644 index d12bd5d..0000000 --- a/IPython/core/tests/test_fakemodule.py +++ /dev/null @@ -1,17 +0,0 @@ -"""Tests for the FakeModule objects. -""" - -import nose.tools as nt - -from IPython.core.fakemodule import FakeModule - -# Make a fakemod and check a few properties -def test_mk_fakemod(): - fm = FakeModule() - yield nt.assert_true,fm - yield nt.assert_true,lambda : hasattr(fm,'__file__') - -def test_mk_fakemod_fromdict(): - """Test making a FakeModule object with initial data""" - fm = FakeModule(dict(hello=True)) - nt.assert_true(fm.hello)