Spaces:
Sleeping
Sleeping
Download utils.py from pavansuresh/ContractMigrationApp: direct link, hf CLI and curl.
- Browser
- Download file 1.65 kB
-
https://huggingface.co/spaces/pavansuresh/ContractMigrationApp/resolve/refs%2Fpr%2F2/utils.py
- Command line
-
hf download hf://spaces/pavansuresh/ContractMigrationApp@refs/pr/2/utils.py
-
curl -L -o utils.py https://huggingface.co/spaces/pavansuresh/ContractMigrationApp/resolve/refs%2Fpr%2F2/utils.py
1.65 kB
| import fitz # PyMuPDF | |
| import json | |
| import os | |
| def get_salesforce_client(): | |
| # Replace with actual authentication logic | |
| return "FakeSFClient", None | |
| def get_salesforce_objects(sf): | |
| return ["Account", "Contact", "Opportunity"], None | |
| def get_object_fields(sf, object_name): | |
| return ["Name", "Email", "Phone"], None | |
| def extract_text_from_pdf(pdf_path): | |
| try: | |
| doc = fitz.open(pdf_path) | |
| text = "" | |
| for page in doc: | |
| text += page.get_text() | |
| return text.strip(), None | |
| except Exception as e: | |
| return None, str(e) | |
| def extract_key_value_pairs(pdf_path): | |
| try: | |
| # Dummy example; replace with NLP extraction logic | |
| return [{"keys": ["Name", "Email"], "values": ["John Doe", "john@example.com"]}], None | |
| except Exception as e: | |
| return None, str(e) | |
| def map_fields(extracted_data, object_fields): | |
| try: | |
| mappings = {} | |
| confidence_scores = {} | |
| for k in extracted_data[0]["keys"]: | |
| match = next((f for f in object_fields if f.lower() in k.lower()), object_fields[0]) | |
| mappings[k] = match | |
| confidence_scores[k] = 0.9 | |
| return mappings, confidence_scores, None | |
| except Exception as e: | |
| return None, None, str(e) | |
| def create_record(sf, object_name, data): | |
| return "001ABC123XYZ", None # Simulated Salesforce ID | |
| def attach_pdf(sf, record_id, pdf_path): | |
| return "PDF attached successfully", None | |
| def log_failure(pdf_path, object_name, error): | |
| with open("failures.json", "a") as f: | |
| json.dump({"pdf": pdf_path, "object": object_name, "error": error}, f) | |
| f.write("\n") | |