Purge PDF Generator

This commit is contained in:
Dan 2022-10-21 14:50:24 -04:00
parent 837c932683
commit 9c693aad7c
7 changed files with 0 additions and 1172 deletions

View File

@ -1 +0,0 @@
"""__init__."""

View File

@ -1 +0,0 @@
"""__init__."""

View File

@ -1,80 +0,0 @@
"""Create."""
from io import BytesIO
from connector_aws.commands.uploadFile import UploadFileData
from jinja2 import BaseLoader
from jinja2 import Environment
from markdown2 import markdown # type: ignore
from xhtml2pdf import pisa # type: ignore
class CreatePDF:
"""CreatePDF."""
def __init__(self, template: str):
"""__init__."""
self.template = template
def execute(self, config, task_data):
"""Execute."""
buf = BytesIO()
html_string = markdown(self.template)
html_template = Environment(loader=BaseLoader, autoescape=True).from_string(
html_string
)
html_content = html_template.render(**task_data)
pisa_status = pisa.CreatePDF(html_content, dest=buf)
if pisa_status.err:
return {
"response": "ERR",
"status": "500",
"mimetype": "text",
}
return {
"response": buf.getvalue(),
"status": "200",
"mimetype": "application/pdf",
}
class CreatePDFAndUploadToS3:
"""CreatePDFAndUploadToS3."""
def __init__(self, template: str, aws_object_name: str):
"""__init__."""
self.template = template
self.aws_object_name = aws_object_name
def execute(self, config, task_data):
"""Execute."""
aws_access_key_id = config["AWS_ACCESS_KEY_ID"]
aws_secret_access_key = config["AWS_SECRET_ACCESS_KEY"]
aws_bucket = config["AWS_INVOICE_S3_BUCKET"]
pdf_result = CreatePDF(self.template).execute(config, task_data)
if pdf_result["status"] != "200":
return {
"response": '{ "error": "failed to create pdf" }',
"status": "500",
"mimetype": "application/json",
}
aws_result = UploadFileData(
pdf_result["response"],
aws_bucket,
self.aws_object_name,
).execute(config, task_data)
if aws_result["status"] != "200":
return aws_result
return {
"response": '{ "created": "' + self.aws_object_name + '"}',
"status": "200",
"mimetype": "application/json",
}

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +0,0 @@
[tool.poetry]
name = "connector-pdf"
version = "0.1.0"
description = ""
authors = ["Jon Herron <jon.herron@yahoo.com>"]
readme = "README.md"
packages = [{include = "connector_pdf"}]
[tool.poetry.dependencies]
python = "^3.10"
xhtml2pdf = "^0.2.8"
connector-aws = {develop=true, path="../connector-aws"}
Jinja2 = "^3.1.2"
markdown2 = "^2.4.5"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

View File

@ -1 +0,0 @@
"""__init__."""