def __inst_doc(self, docid, doc_type_name=None):
        """
        Instantiate a document based on its document id.
        The information are taken from the whoosh index.
        """
        doc = None
        docpath = self.fs.join(self.rootdir, docid)
        if not self.fs.exists(docpath):
            return None
        if doc_type_name is not None:
            # if we already know the doc type name
            for (is_doc_type, doc_type_name_b, doc_type) in DOC_TYPE_LIST:
                if (doc_type_name_b == doc_type_name):
                    doc = doc_type(self.fs, docpath, docid)
            if not doc:
                logger.warning(
                    ("Warning: unknown doc type found in the index: %s") %
                    doc_type_name
                )
        # otherwise we guess the doc type
        if not doc:
            for (is_doc_type, doc_type_name, doc_type) in DOC_TYPE_LIST:
                if is_doc_type(self.fs, docpath):
                    doc = doc_type(self.fs, docpath, docid)
                    break
        if not doc:
            logger.warning("Warning: unknown doc type for doc '%s'" % docid)

        return doc
def __inst_doc ( self , docid , doc_type_name = None ) : doc = None docpath = self . fs . join ( self . rootdir , docid ) if not self . fs . exists ( docpath ) : return None if doc_type_name is not None : for ( is_doc_type , doc_type_name_b , doc_type ) in DOC_TYPE_LIST : if ( doc_type_name_b == doc_type_name ) : doc = doc_type ( self . fs , docpath , docid ) if not doc : logger . warning ( ( "Warning: unknown doc type found in the index: %s" ) % doc_type_name ) if not doc : for ( is_doc_type , doc_type_name , doc_type ) in DOC_TYPE_LIST : if is_doc_type ( self . fs , docpath ) : doc = doc_type ( self . fs , docpath , docid ) break if not doc : logger . warning ( "Warning: unknown doc type for doc '%s'" % docid ) return doc
Instantiate a document based on its document id.
        The information are taken from the whoosh index.