Files
Udacity_Nanodegree_Intermed…/Meme_Generator/QuoteEngine/TextIngestor.py

27 lines
838 B
Python

"""Module for ingesting text files containing quotes."""
from typing import List
from .IngestorInterface import IngestorInterface
from .QuoteModel import QuoteModel
class TextIngestor(IngestorInterface):
"""Subcalss for ingesting text files."""
allowed_extensions = ["txt"]
@classmethod
def parse(cls, path: str) -> List[QuoteModel]:
"""Parse the text file to extract quotes."""
if not cls.can_ingest(path):
raise Exception("Invalid ingest path")
quotes = []
with open(path, "r") as file:
for line in file.readlines():
line = line.strip()
if line:
parts = line.split(" - ", 1)
if len(parts) == 2:
quotes.append(QuoteModel(parts[0], parts[1]))
return quotes