From cf55c2aed566c076feac5c20d800988039c9955a Mon Sep 17 00:00:00 2001 From: Adam Goldsmith Date: Tue, 31 May 2022 12:31:25 -0400 Subject: [PATCH] membershipworks: Handle Byte Order Mark (BOM) in CSVs --- membershipworks/membershipworks_api.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/membershipworks/membershipworks_api.py b/membershipworks/membershipworks_api.py index 2349103..02f928e 100644 --- a/membershipworks/membershipworks_api.py +++ b/membershipworks/membershipworks_api.py @@ -197,6 +197,10 @@ class MembershipWorks: ) if r.status_code != 200: raise MembershipWorksRemoteError("csv generation", r) + + if r.text[0] == "\ufeff": + r.encoding = r.encoding + "-sig" + return list(csv.DictReader(StringIO(r.text))) def get_transactions(self, start_date, end_date, json=False): @@ -221,6 +225,9 @@ class MembershipWorks: if json: return r.json() else: + if r.text[0] == "\ufeff": + r.encoding = r.encoding + "-sig" + return list(csv.DictReader(StringIO(r.text))) def get_all_members(self):