'Hook to allow backends which support rich-content types such as PDF,
Word, etc. extraction to process the provided file object and return
the contents for indexing
Returns None if metadata cannot be extracted; otherwise returns a
dictionary containing at least two keys:
:contents:
Extracted full-text content, if applicable
:metadata:
key:value pairs of text strings'

def extract_file_contents(self, file_obj):

    raise NotImplementedError(u"Subclasses    must    provide    a    way    to    extract    metadata    via    the    'extract'    method    if    supported    by    the    backend.")
