Source code for ferenda.tocpageset

# -*- coding: utf-8 -*-
from __future__ import unicode_literals


[docs]class TocPageset(object): """Represents a particular set of TOC pages, structured around some particular attribute(s) of documents, like title or publication date. :py:meth:`~ferenda.DocumentRepository.toc_pagesets` returns a list of these objects, override that method to provide custom TocPageset objects. :param label: A description of this set of TOC pages, like "By publication year" :type label: str :param pages: The set of :py:class:`~ferenda.TocPage` objects that makes up this page set. :type pages: list :param predicate: The RDFLib predicate (if any) that this pageset is keyed on. :type predicate: rdflib.term.URIRef """ def __init__(self, label, pages, predicate=None): self.label = label self.pages = pages self.predicate = predicate def __eq__(self, other): return self.__dict__ == other.__dict__ def __repr__(self): dictrepr = "".join((" %s=%s" % (k, v) for k, v in sorted(self.__dict__.items()) if not callable(v))) return ("<%s%s>" % (self.__class__.__name__, dictrepr))