def generate_meme(path=None, body=None, author=None): """ Generate a meme given an path and a quote """ img = None quote = None if path is None: images = "./_data/photos/dog/" imgs = [] for root, dirs, files in os.walk(images): imgs = [os.path.join(root, name) for name in files] img = random.choice(imgs) else: img = path[0] if body is None: quote_files = [ './_data/DogQuotes/DogQuotesTXT.txt', './_data/DogQuotes/DogQuotesDOCX.docx', './_data/DogQuotes/DogQuotesPDF.pdf', './_data/DogQuotes/DogQuotesCSV.csv' ] quotes = [] for f in quote_files: quotes.extend(Ingestor.parse(f)) quote = random.choice(quotes) else: if author is None: raise Exception('Author Required if Body is Used') quote = QuoteModel(body, author) meme = MemeEngine('./tmp') path = meme.make_meme(img, quote.body, quote.author) return path
def setup(): """ Load all resources """ quote_files = [ './_data/DogQuotes/DogQuotesTXT.txt', './_data/DogQuotes/DogQuotesDOCX.docx', './_data/DogQuotes/DogQuotesPDF.pdf', './_data/DogQuotes/DogQuotesCSV.csv' ] #quote_files = [ './_data/DogQuotes/DogQuotesCSV.csv'] # TODO: Use the Ingestor class to parse all files in the # quote_files variable quotes = [] for f in quote_files: quotes.extend(Ingestor.parse(f)) images_path = "./_data/photos/dog/" # TODO: Use the pythons standard library os class to find all # images within the images images_path directory imgs = [] for root, dirs, files in os.walk(images_path): imgs = [os.path.join(root, name) for name in files] return quotes, imgs
def generate_meme(path=None, body=None, author=None): """Generate a meme given an path and a quote.""" img = None quote = None if path is None: images = "./_data/photos/dog/" imgs = [img for img in glob.glob(f'{images}/*.jpg')] img = random.choice(imgs) else: img = path[0] if body is None: quote_files = [ './_data/DogQuotes/DogQuotesTXT.txt', './_data/DogQuotes/DogQuotesDOCX.docx', './_data/DogQuotes/DogQuotesPDF.pdf', './_data/DogQuotes/DogQuotesCSV.csv' ] quotes = [] for f in quote_files: quotes.extend(Ingestor.parse(f)) quote = random.choice(quotes) else: if author is None: raise Exception('Author Required if Body is Used') quote = QuoteModel(body, author) meme = ImageCaptioner('./static') path = meme.make_meme(img, quote.body, quote.author) return path
def setup(): """ Load all resources """ quote_files = ['./_data/DogQuotes/DogQuotesTXT.txt', './_data/DogQuotes/DogQuotesDOCX.docx', './_data/DogQuotes/DogQuotesPDF.pdf', './_data/DogQuotes/DogQuotesCSV.csv'] quotes = [] for quote_file in quote_files: quotes.extend(Ingestor.parse(quote_file)) images_path = "./_data/photos/dog/" imgs = [] for root, _, files in os.walk(images_path): imgs = [os.path.join(root, name) for name in files] return quotes, imgs
def generate_meme(path=None, body=None, author=None): """ Generate a meme Arguments: path {str} -- the path to the image file body {str} -- the quote body to be added to the image author {str} -- the author of the quote """ img = None quote = None if path is None: images = "./_data/photos/dog/" imgs = [] for root, _, files in os.walk(images): imgs = [os.path.join(root, name) for name in files] img = random.choice(imgs) else: img = path if body is None: quote_files = [ './_data/DogQuotes/DogQuotesTXT.txt', './_data/DogQuotes/DogQuotesDOCX.docx', './_data/DogQuotes/DogQuotesPDF.pdf', './_data/DogQuotes/DogQuotesCSV.csv' ] quotes = [] for f in quote_files: quotes.extend(Ingestor.parse(f)) quote = random.choice(quotes) else: if author is None: raise Exception('Author Required if Body is Used') quote = QuoteModel(body, author) meme = MemeGenerator('./tmp') path = meme.make_meme(img, quote.body, quote.author) return path
def setup(): """ Load all resources """ quote_files = [ './_data/DogQuotes/DogQuotesTXT.txt', './_data/DogQuotes/DogQuotesDOCX.docx', './_data/DogQuotes/DogQuotesPDF.pdf', './_data/DogQuotes/DogQuotesCSV.csv' ] quotes = [] for file in quote_files: quotes.extend(Ingestor.parse(file)) images_path = "./_data/photos/dog/" imgs = [] for f in os.listdir(images_path): if f.endswith(".jpg"): imgs.append(os.path.join(images_path, f)) return quotes, imgs
def setup(): """Load all resources.""" quote_files = [ './_data/Quotes/QuotesTXT.txt', './_data/Quotes/QuotesDOCX.docx', './_data/Quotes/QuotesPDF.pdf', './_data/Quotes/QuotesCSV.csv' ] quotes = list() for file in quote_files: try: quotes.extend(Ingestor.parse(file)) except TypeError: print(f'{file} extension unknown') continue images_path = "./_data/photos/pics/" imgs = list() for image in os.listdir(images_path): if image.endswith('.jpg'): imgs.append(os.path.join(images_path, image)) return quotes, imgs