1
This commit is contained in:
+16
-3
@@ -9,6 +9,8 @@ from pathlib import Path
|
||||
|
||||
from domain import auto_match, enrich, extract
|
||||
from exports import export_expense, export_ppt, export_travel
|
||||
from expense_template import export_custom_expense, inspect_template, validate_template
|
||||
from expense_preview import prepare_preview
|
||||
|
||||
PROTOCOL = sys.stdout
|
||||
SUPPORTED = {'.jpg', '.jpeg', '.png', '.webp', '.bmp', '.gif', '.pdf'}
|
||||
@@ -83,6 +85,10 @@ def dispatch(request):
|
||||
operation = request['operation']
|
||||
if operation == 'scan':
|
||||
return scan(request)
|
||||
if operation == 'inspect-expense-template':
|
||||
return inspect_template(request['templatePath'])
|
||||
if operation == 'validate-expense-template':
|
||||
return validate_template(request['templatePath'], request['templateMapping'])
|
||||
state = request['state']
|
||||
if operation == 'refresh':
|
||||
return enrich(state)
|
||||
@@ -97,9 +103,16 @@ def dispatch(request):
|
||||
elif operation == 'travel':
|
||||
export_travel(state, temporary)
|
||||
elif operation == 'expense':
|
||||
template = Path(__file__).parent / 'personal-expense-template.xlsx'
|
||||
metadata = export_expense(state, temporary, template, request.get('purposes', {}), request.get('signatures', []),
|
||||
request.get('payee', {}), request.get('categoryPurposes'))
|
||||
if request.get('templatePath'):
|
||||
metadata = export_custom_expense(state, temporary, request['templatePath'], request.get('templateMapping'),
|
||||
request.get('purposes', {}), request.get('signatures', []),
|
||||
request.get('payee', {}), request.get('categoryPurposes'))
|
||||
else:
|
||||
template = Path(__file__).parent / 'personal-expense-template.xlsx'
|
||||
metadata = export_expense(state, temporary, template, request.get('purposes', {}), request.get('signatures', []),
|
||||
request.get('payee', {}), request.get('categoryPurposes'))
|
||||
if request.get('preparePreview'):
|
||||
metadata.update(prepare_preview(temporary))
|
||||
else:
|
||||
raise ValueError('未知操作:' + operation)
|
||||
os.replace(temporary, destination)
|
||||
|
||||
Reference in New Issue
Block a user