##// END OF EJS Templates
Remove extra action generation in "All Magics" menu population....
Remove extra action generation in "All Magics" menu population. The function that populates "All Magics" and "CLASS magics" menus used to create two separate QActions: one for the all-menu and one for class menu. There is no apparent reason for doing that, since single QAction can happily serve multiple menus and buttons.

File last commit:

r4609:a661b7c0
r16299:55a3270a
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))