From e4030520084e93de6eda2e87421b89e822c0df36 Mon Sep 17 00:00:00 2001 From: Philip Deuchler Date: Tue, 1 Jul 2014 13:52:44 -0400 Subject: [PATCH 1/3] Fix typos in docs and fix iteration error with custom fields in add_contacts --- README.md | 2 +- madmimi.py | 4 ++-- madmimi.pyc | Bin 0 -> 12346 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 madmimi.pyc diff --git a/README.md b/README.md index 171ba84..1ae71c4 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ mimi.delete_list('test') <- delete a list mimi.add_list('test_list') <- add a list -mimi.add_contact(['Tav', 'Espian', 'tav@espians.com']) <- add a new contact +mimi.add_contacts(['Tav', 'Espian', 'tav@espians.com']) <- add a new contact mimi.subscribe('tav@espians.com, 'test_list') <- subscribe a contact to a certain list diff --git a/madmimi.py b/madmimi.py index 0c87cc5..92b69a3 100644 --- a/madmimi.py +++ b/madmimi.py @@ -106,7 +106,7 @@ class MadMimi(object): Add new contacts: - >>> mimi.add_contact(['Tav', 'Espian', 'tav@espians.com']) + >>> mimi.add_contacts(['Tav', 'Espian', 'tav@espians.com']) Subscribe contacts to a list: @@ -253,7 +253,7 @@ def add_contacts(self, contacts_data, fields=DEFAULT_CONTACT_FIELDS): contacts = [] contacts.append((fields)) - contacts.extend(contacts_data) + contacts.append(contacts_data) csvdata = StringIO() writer = csv.writer(csvdata) diff --git a/madmimi.pyc b/madmimi.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3ea7792f5831ccaa2f15703afd1bc58fc1d697e GIT binary patch literal 12346 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 Date: Tue, 1 Jul 2014 13:53:59 -0400 Subject: [PATCH 2/3] Add requirements.txt --- requirements.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..faa5d2e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +PyYAML==3.11 +mock==1.0.1 +wsgiref==0.1.2 From 5bbc863e600363feb40f220b9cda6a0830b43d3a Mon Sep 17 00:00:00 2001 From: Philip Deuchler Date: Tue, 1 Jul 2014 13:56:11 -0400 Subject: [PATCH 3/3] Add gitignore --- .gitignore | 1 + madmimi.pyc | Bin 12346 -> 0 bytes 2 files changed, 1 insertion(+) create mode 100644 .gitignore delete mode 100644 madmimi.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e99e36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc \ No newline at end of file diff --git a/madmimi.pyc b/madmimi.pyc deleted file mode 100644 index b3ea7792f5831ccaa2f15703afd1bc58fc1d697e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12346 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