##// END OF EJS Templates
Merge pull request #2231 from Carreau/ja...
Merge pull request #2231 from Carreau/ja Improve Image format validation and add html width,height This addresses the first two bullets of #2053 Validates first argument to constrain format to png, jpeg, Lets user specify width, height, or both and emits appropriate html I introduced a couple of class constants to minimize the number of times I saw 'jpeg' and 'png' and document the _ACCEPTABLE_FORMATS. I added one real jpeg image to the test directory and one zero-length gif file to survive the file not found error in super() Closes #2053 Add `assert_is_none`, `assert_is_not_none` to `nose.tools`

File last commit:

r4609:a661b7c0
r8116:19feb23c merge
Show More
rwbase.py
47 lines | 1.4 KiB | text/x-python | PythonLexer
"""Base classes and function for readers and writers.
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from base64 import encodestring, decodestring
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
class NotebookReader(object):
def reads(self, s, **kwargs):
"""Read a notebook from a string."""
raise NotImplementedError("loads must be implemented in a subclass")
def read(self, fp, **kwargs):
"""Read a notebook from a file like object"""
return self.reads(fp.read(), **kwargs)
class NotebookWriter(object):
def writes(self, nb, **kwargs):
"""Write a notebook to a string."""
raise NotImplementedError("loads must be implemented in a subclass")
def write(self, nb, fp, **kwargs):
"""Write a notebook to a file like object"""
return fp.write(self.writes(nb,**kwargs))