Esempio n. 1
0
    def __init__(self,
                 fields=None,
                 required=('name', 'description', 'url'),
                 whoosh_index=None):
        """
        - fields : list of fields to use, or None to calculate dynamically
        - required : required data (strings)
        - whoosh_index : directory to keep whoosh index in
        """
        self.required = set(required)

        # reserved fields
        self.reserved = self.required.copy()
        self.reserved.update(['modified'])  # last modified, a computed value
        self.search = WhooshSearch(whoosh_index=whoosh_index)

        # classifier fields
        self._fields = fields
        self.field_set = set(fields or ())