Skip to content

Commit

Permalink
updated docstring of get_reader_from_filename
Browse files Browse the repository at this point in the history
  • Loading branch information
parkin committed Mar 28, 2014
1 parent dd389ec commit 469f086
Showing 1 changed file with 23 additions and 11 deletions.
34 changes: 23 additions & 11 deletions src/pypore/io/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@

# TODO implement tests for this!
def get_reader_from_filename(filename):
"""
Returns an instance of an implementation of :py:class:`pypore.io.abstract_reader.AbstractReader` based on the
extension of filename.
:param string filename: Filename to get the reader for.
:returns: An open reader of an implementation of :py:class:`pypore.io.abstract_reader.AbstractReader` based on the\
extension of filename, for the following extensions.
- '.h5' extension: returns an instance of :py:class:`pypore.io.data_file_reader.DataFileReader`.
- '.log' extension: returns :py:class:`pypore.io.chimera_reader.ChimeraReader`.
If the file extension is not in the above list, None is returned.
:raise: Exception - this method opens a reader, which could throw an exception.
>>> reader = get_reader_from_filename('test.h5') # Returns an open DataFileReader
>>> data = reader.get_all_data()
"""

# TODO implement for other file types

Expand All @@ -10,17 +28,11 @@ def get_reader_from_filename(filename):
elif '.log' in filename:
from chimera_reader import ChimeraReader as ReaderClass
else:
print "error"
return "No default reader available for file extension of {0}".format(filename)

try:
reader = ReaderClass(filename)
return reader
except Exception, e:
print e
return e.message

raise ValueError(
"No default match for the extension of {0}. Default extensions include '.h5', '.log'.".format(filename))

reader = ReaderClass(filename)
return reader

# elif '.hkd' in filename:
# return open_heka_file(filename, decimate)
Expand Down

0 comments on commit 469f086

Please sign in to comment.