diff --git a/src/invoice2data/__init__.py b/src/invoice2data/__init__.py index d6a0cc0d..3d88e595 100644 --- a/src/invoice2data/__init__.py +++ b/src/invoice2data/__init__.py @@ -1 +1,2 @@ from .main import extract_data # noqa: F401 +from .main import Invoice2Data # noqa: F401 diff --git a/src/invoice2data/main.py b/src/invoice2data/main.py index c322b179..2803fc49 100644 --- a/src/invoice2data/main.py +++ b/src/invoice2data/main.py @@ -37,6 +37,19 @@ output_mapping = {"csv": to_csv, "json": to_json, "xml": to_xml, "none": None} +class Invoice2Data: + def __init__(self, load_built_in_templates=True): + self.templates = [] + if load_built_in_templates: + self.templates += read_templates() + + def read_templates(self, path): + self.templates += read_templates(os.path.abspath(path)) + + def extract_data(self, path, input_module=None): + return extract_data(path, self.templates, input_module) + + def extract_data(invoicefile, templates=None, input_module=None): """Extracts structured data from PDF/image invoices.