def test_pdf_print(example_record): record_summary = RecordSummarizer.summarize(example_record, {}) record = json.loads(json.dumps(record_summary, cls=ExpungeModelEncoder)) aliases = [ {"first_name": "john", "middle_name": "", "last_name": "smith", "birth_date": "2/2/2020"}, {"first_name": "john", "middle_name": "", "last_name": "doe", "birth_date": ""}, ] header = MarkdownSerializer.default_header(aliases) source = MarkdownSerializer.to_markdown(record, header) assert source == EXPECTED_MARKDOWN
def post(self): response = Search().post() record = json.loads(response)["record"] request_data = request.get_json() aliases = request_data["aliases"] header = MarkdownSerializer.default_header(aliases) source = MarkdownSerializer.to_markdown(record, header) pdf = MarkdownToPDF.to_pdf("Expungement analysis", source) response = make_response(pdf) response.headers["Content-Type"] = "application/pdf" filename = Pdf.build_filename(aliases) response.headers["Content-Disposition"] = f"inline; filename={filename}" return response
def handle_person(output, client, row): alias = { "first_name": row.get("First Short", ""), "last_name": row.get("Last Short", ""), "birth_date": row.get("Birth Date", ""), "middle_name": "", } aliases = [alias] response = client.post("http://localhost:5000/api/search", json={"aliases": aliases}) record = json.loads(response.text)["record"] first_name = row.get("First Name", "").upper() middle = row.get("Middle", "").upper() last_name = row.get("Last Name", "").upper() name = f"{first_name} {middle} {last_name}" birth_date = row.get("Birth Date", "") officer = row.get("Officer", "").upper() header = build_header(aliases, name, birth_date, officer) if record.get("cases"): print(f"PROCESSING ANALYSIS FOR {name}") source = MarkdownSerializer.to_markdown(record, header) pdf = MarkdownToPDF.to_pdf("Expungement analysis", source) Path(f"{output}/{officer}/").mkdir(parents=True, exist_ok=True) filename = f"{output}/{officer}/{first_name}_{last_name}_{officer}.pdf" with open(filename, "wb") as f: f.write(pdf) else: print(f"BLANK RECORD: {name} {aliases}")