Files

54 lines
1.9 KiB
Python

import frappe
import os
frappe.init(site="erpnext.local")
frappe.connect()
labels_dir = "/tmp/labels"
labels = [
{"name": "R2 UW Label GA FL AZ", "doctype": "Pallet", "file": "8.1.1-F R2 UW Label GA FL AZ v2.0 - draft.pdf"},
{"name": "Resale Label", "doctype": "Pallet", "file": "8.1.1-F Resale Label Issue 10.0.pdf"},
{"name": "Arizona Processing Label", "doctype": "Pallet", "file": "8.1.1-F Arizona Processing Label 1.0.pdf"},
{"name": "Unrestricted Streams", "doctype": "Pallet", "file": "4.4.6.3-F Unrestricted Streams Issue 2.0.pdf"},
{"name": "Unacceptable Items", "doctype": "Pallet", "file": "8.1.1-F Unacceptible Items 1.0 Fill.pdf"},
]
for label in labels:
try:
# Check if Print Format already exists
existing = frappe.db.exists("Print Format", label["name"])
if existing:
print(f"✓ Print Format '{label['name']}' already exists")
continue
# Read PDF file
pdf_path = os.path.join(labels_dir, label["file"])
if not os.path.exists(pdf_path):
print(f"✗ File not found: {pdf_path}")
continue
with open(pdf_path, "rb") as f:
pdf_content = f.read()
# Create Print Format
pf = frappe.get_doc({
"doctype": "Print Format",
"name": label["name"],
"standard": "No",
"custom_format": 1,
"print_format_type": "PDF",
"doc_type": label["doctype"],
"resource": pdf_content,
"default_print_language": "en",
})
pf.insert()
frappe.db.commit()
print(f"✓ Created Print Format: {label['name']}")
except Exception as e:
print(f"✗ Error importing {label['name']}: {e}")
frappe.db.rollback()
frappe.destroy()
print("\nDone! Labels imported as Print Formats.")