Usacese1 / parse_toshiba.py
SuriRaja's picture
Create parse_toshiba.py
d3afbc7 verified
import re
from typing import Dict
def parse_toshiba(file_text: str) -> Dict:
parsed_data = {
"Purchase Order No": "",
"Date": "",
"Supplier": "Toshiba Transmission and Distribution Systems (India) Pvt Ltd",
"Invoice Address": "",
"Delivery Address": "",
"Currency": "INR",
"Payment Terms": "",
"Items": []
}
try:
parsed_data["Purchase Order No"] = re.search(r"Purchase Order : (\w+)", file_text).group(1)
parsed_data["Date"] = re.search(r"Order Date : (\d{4}-\d{2}-\d{2})", file_text).group(1)
item_pattern = re.compile(r"Pos\.\s+(\d+)\s+([\w\s]+)\s+(\d+)\s+([\d.]+)\s+INR\s+([\d.]+)")
for match in item_pattern.finditer(file_text):
parsed_data["Items"].append({
"Position": match.group(1),
"Description": match.group(2).strip(),
"Quantity": int(match.group(3)),
"Unit Price": float(match.group(4)),
"Total Price": float(match.group(5)),
})
except Exception as e:
print(f"Error parsing Toshiba PO: {e}")
return parsed_data