quoteengine package

Submodules

quoteengine.ingestors module

Classes used to read quotes from various file types.

class quoteengine.ingestors.CsvIngestor[source]

Bases: quoteengine.ingestors.IngestorInterface

Imports quotes from csv files using pandas read_csv.

allowed_extensions = ['csv']
classmethod parse(path: str) List[quoteengine.quote_models.QuoteModel][source]

Return a list of QuoteModel from parsing a csv file with pandas.

class quoteengine.ingestors.DocxIngestor[source]

Bases: quoteengine.ingestors.IngestorInterface

Imports quotes from docx files.

allowed_extensions = ['docx']
classmethod parse(path: str) List[quoteengine.quote_models.QuoteModel][source]

Return a list of QuoteModel from parsing docx file.

class quoteengine.ingestors.Ingestor[source]

Bases: quoteengine.ingestors.IngestorInterface

Encapsulates helper ingestor classes to a unified interface for all supported file types.

classmethod can_ingest(path) bool[source]

Return a bool if the parent class has support for file extension in a given path.

classmethod parse(path: str) List[quoteengine.quote_models.QuoteModel][source]

Return a list of QuoteModel from parsing any supported file type.

class quoteengine.ingestors.IngestorInterface[source]

Bases: abc.ABC

Abstract base class for parsing quotes stored in varying file formats.

allowed_extensions = []
classmethod can_ingest(path) bool[source]

Return boolean if the passed path has an extension in allowed_extensions.

classmethod clean_text(text)[source]

Return text free of unwanted and non-printable characters.

classmethod ext_from_path(path)[source]

Return a file extension from path string.

classmethod extension_support()[source]

Return a list of all supported parse extension formats from subclasses.

classmethod parse(path: str) List[quoteengine.quote_models.QuoteModel][source]

Return QuoteModels for each quote found in a parsed file.

This is the main override for subclass implementations.

class quoteengine.ingestors.PdfIngestor[source]

Bases: quoteengine.ingestors.IngestorInterface

Imports quotes from pdf files using subprocess to launch pdftotext.

allowed_extensions = ['pdf']
classmethod parse(path: str) List[quoteengine.quote_models.QuoteModel][source]

Return a list of QuoteModel from parsing pdf file with pdftotext binary.

class quoteengine.ingestors.TxtIngestor[source]

Bases: quoteengine.ingestors.IngestorInterface

Imports quotes from raw text(txt) files.

allowed_extensions = ['txt']
classmethod parse(path: str) List[quoteengine.quote_models.QuoteModel][source]

Return a list of QuoteModel from parsing a txt file.

quoteengine.quote_models module

Classes for varying quote data models. Currently only 1 is needed.

class quoteengine.quote_models.QuoteModel(body: str, author: str)[source]

Bases: object

Class to encapsulate “body” and “author” for a parsed quote.

Module contents

quoteengine module responsible for ingesting many types of files that contain quotes.