##// END OF EJS Templates
DEV: Allow CheckpointManagers to optimize for shared backends....
DEV: Allow CheckpointManagers to optimize for shared backends. On `create_checkpoint` and `restore_checkpoint`, pass a path and a `ContentsManager` to `CheckpointManager` instead of an already-loaded model. The `CheckpointManager` base class provides a correct implementation of these methods that's generic across any ContentsManager, but subclasses are free to specialize when the storage backend of `ContentsManager` is shared.

File last commit:

r12781:1411cb6d
r19828:adba75fe
Show More
base.py
42 lines | 1.3 KiB | text/x-python | PythonLexer
"""
Contains base test class for nbformat
"""
#-----------------------------------------------------------------------------
#Copyright (c) 2013, the IPython Development Team.
#
#Distributed under the terms of the Modified BSD License.
#
#The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import os
import unittest
import IPython
#-----------------------------------------------------------------------------
# Classes and functions
#-----------------------------------------------------------------------------
class TestsBase(unittest.TestCase):
"""Base tests class."""
def fopen(self, f, mode=u'r'):
return open(os.path.join(self._get_files_path(), f), mode)
def _get_files_path(self):
#Get the relative path to this module in the IPython directory.
names = self.__module__.split(u'.')[1:-1]
#Build a path using the IPython directory and the relative path we just
#found.
path = IPython.__path__[0]
for name in names:
path = os.path.join(path, name)
return path