Update Eventbrite importer for new CSV format
This commit is contained in:
parent
9f8e5d7942
commit
2e87f9eaf0
2 changed files with 16 additions and 21 deletions
|
@ -1,30 +1,28 @@
|
|||
import decimal
|
||||
import datetime
|
||||
|
||||
from . import _csv
|
||||
from .. import strparse
|
||||
|
||||
|
||||
class SalesImporter(_csv.CSVImporterBase):
|
||||
DECIMAL_FIELDS = {
|
||||
'Eventbrite Fees': 'eventbrite_fees',
|
||||
'Eventbrite Payment Processing': 'payment_fees',
|
||||
'Fees Paid': 'total_fees',
|
||||
'Quantity': 'quantity',
|
||||
'Tax Paid': 'tax',
|
||||
'Total Paid': 'amount',
|
||||
'Eventbrite service fee': 'service_fee',
|
||||
'Eventbrite payment processing fee': 'payment_processing_fee',
|
||||
'Ticket quantity': 'ticket_quantity',
|
||||
'Eventbrite tax': 'eventbrite_tax',
|
||||
'Organizer tax': 'organizer_tax',
|
||||
'Gross sales': 'amount',
|
||||
}
|
||||
NEEDED_FIELDS = frozenset([
|
||||
'Order Date',
|
||||
'Order Type',
|
||||
'Order date',
|
||||
'Payment status',
|
||||
*DECIMAL_FIELDS,
|
||||
])
|
||||
OPTIONAL_FIELDS = {
|
||||
'Attendee #': 'attendee_id',
|
||||
'Company': 'corporation',
|
||||
'Currency': 'currency',
|
||||
'Event ID': 'event_id',
|
||||
'Event Name': 'event_name',
|
||||
'Order #': 'order_id',
|
||||
'Ticket Type': 'ticket_type',
|
||||
'Event name': 'event_name',
|
||||
'Order ID': 'order_id',
|
||||
}
|
||||
ENTRY_SEED = {'currency': 'USD'}
|
||||
|
||||
|
@ -36,12 +34,9 @@ class SalesImporter(_csv.CSVImporterBase):
|
|||
self.DECIMAL_FIELDS[key]: strparse.currency_decimal(row[key])
|
||||
for key in self.DECIMAL_FIELDS
|
||||
}
|
||||
date_s, _, _ = row['Order Date'].partition(' ')
|
||||
retval['date'] = strparse.date(date_s, '%Y-%m-%d')
|
||||
try:
|
||||
retval['payee'] = '{Buyer First Name} {Buyer Last Name}'.format_map(row)
|
||||
except KeyError:
|
||||
retval['payee'] = '{First Name} {Last Name}'.format_map(row)
|
||||
retval['date'] = datetime.datetime.fromisoformat(row['Order date']).date()
|
||||
retval['payee'] = '{Buyer first name} {Buyer last name}'.format_map(row)
|
||||
retval['total_fees'] = retval['service_fee'] + retval['payment_processing_fee']
|
||||
retval.update(
|
||||
(self.OPTIONAL_FIELDS[key], row.get(key, ''))
|
||||
for key in self.OPTIONAL_FIELDS
|
||||
|
|
2
setup.py
2
setup.py
|
@ -30,7 +30,7 @@ REQUIREMENTS['tests_require'] = [
|
|||
setup(
|
||||
name='import2ledger',
|
||||
description="Import different sources of financial data to Ledger",
|
||||
version='1.4.5',
|
||||
version='1.4.6',
|
||||
author='Brett Smith',
|
||||
author_email='brettcsmith@brettcsmith.org',
|
||||
license='GNU AGPLv3+',
|
||||
|
|
Loading…
Add table
Reference in a new issue