From 4796932cb7a4457a1f93c52f7b7756b1e283ade2 2017-12-18 19:09:54 From: Brett Smith Date: 2017-12-18 19:09:54 Subject: [PATCH] importers.patreon: Handle commas in large amounts. --- diff --git a/import2ledger/importers/patreon.py b/import2ledger/importers/patreon.py index 2de0313562a253288f61d2a63964ff5014c891e4..19e43480beca3169dd679f993d10362f5c63d63a 100644 --- a/import2ledger/importers/patreon.py +++ b/import2ledger/importers/patreon.py @@ -8,11 +8,9 @@ class IncomeImporter(_csv.CSVImporterBase): NEEDED_FIELDS = frozenset([ 'FirstName', 'LastName', + 'Pledge', 'Status', ]) - COPIED_FIELDS = { - 'Pledge': 'amount', - } ENTRY_SEED = { 'currency': 'USD', } @@ -30,6 +28,7 @@ class IncomeImporter(_csv.CSVImporterBase): return None else: return { + 'amount': row['Pledge'].replace(',', ''), 'payee': '{0[FirstName]} {0[LastName]}'.format(row), } diff --git a/tests/data/PatreonPatronReport_2017-09-01.csv b/tests/data/PatreonPatronReport_2017-09-01.csv index 4ac9ef50cd57e8016cc7ad5a3dc79abad7b7eed8..0c5459ca83c10d62690e3952000be78c909e9aad 100644 --- a/tests/data/PatreonPatronReport_2017-09-01.csv +++ b/tests/data/PatreonPatronReport_2017-09-01.csv @@ -1,6 +1,6 @@ FirstName,LastName,Email,Pledge,Lifetime,Status,Twitter,Street,City,State,Zip,Country,Start,MaxAmount,Complete 100 + Reward,Description You donate a lot of money!,,,,,,,,,,,,, -Alex,Jones,alex@example.org,150,300,Processed,,,,,,,2017-08-11 11:28:06.166065,200,0 +Alex,Jones,alex@example.org,"1,500.00","3,000.00",Processed,,,,,,,2017-08-11 11:28:06.166065,"2,000.00",0 5 + Reward,Description You’re nice!,,,,,,,,,,,,, -Brett,Smith,brett@example.org,10,30,Declined,Brett20XX,,,,,,2017-08-10 13:24:15.955782,10,0 -Dakota,Doe,ddoe@example.org,12,48,Processed,,,,,,,2017-08-10 12:58:31.919341,12,0 +Brett,Smith,brett@example.org,10.00,30.00,Declined,Brett20XX,,,,,,2017-08-10 13:24:15.955782,10.00,0 +Dakota,Doe,ddoe@example.org,12.00,48.00,Processed,,,,,,,2017-08-10 12:58:31.919341,12.00,0 diff --git a/tests/data/imports.yml b/tests/data/imports.yml index 18b950b0757f70fb92707ecb61913c2cad9b2ed3..cea69c66966b284561c35d6a0a50f8d3a337aafd 100644 --- a/tests/data/imports.yml +++ b/tests/data/imports.yml @@ -3,7 +3,7 @@ expect: - payee: Alex Jones date: !!python/object/apply:datetime.date [2017, 9, 1] - amount: !!python/object/apply:decimal.Decimal ["150.00"] + amount: !!python/object/apply:decimal.Decimal ["1500.00"] currency: USD - payee: Dakota Doe date: !!python/object/apply:datetime.date [2017, 9, 1]