Skip to content

Commit 84b2946

Browse files
author
Claudio Cherubino
committed
Added support for label deletion in the Email Settings API client library
1 parent a24e09f commit 84b2946

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

src/gdata/apps/emailsettings/client.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
__author__ = 'Claudio Cherubino <ccherubino@google.com>'
2929

3030

31+
import urllib
32+
3133
import gdata.apps.emailsettings.data
3234
import gdata.client
3335

@@ -162,6 +164,23 @@ def retrieve_labels(self, username, **kwargs):
162164

163165
RetrieveLabels = retrieve_labels
164166

167+
def delete_label(self, username, label, **kwargs):
168+
"""Delete a label from the specified account.
169+
170+
Args:
171+
username: string Name of the user
172+
label: string Name of the label to be deleted
173+
174+
Returns:
175+
An atom.http_core.HttpResponse() with the result of the request
176+
"""
177+
uri = self.MakeEmailSettingsUri(username=username,
178+
setting_id=SETTING_ID_LABEL)
179+
uri = '/'.join([uri, urllib.quote_plus(label)])
180+
return self.delete(uri, **kwargs)
181+
182+
DeleteLabel = delete_label
183+
165184
def create_filter(self, username, from_address=None,
166185
to_address=None, subject=None, has_the_word=None,
167186
does_not_have_the_word=None, has_attachments=None,

tests/gdata_tests/apps/emailsettings/live_client_test.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def testMakeEmailSettingsUri(self):
6565
'abc', 'label'),
6666
self.client.MakeEmailSettingsUri('abc', 'label'))
6767

68-
def testCreateLabel(self):
68+
def testCreateDeleteLabel(self):
6969
if not conf.options.get_value('runlive') == 'true':
7070
return
7171

@@ -80,6 +80,10 @@ def testCreateLabel(self):
8080
gdata.apps.emailsettings.data.EmailSettingsLabel))
8181
self.assertEqual(new_label.name, 'status updates')
8282

83+
self.client.DeleteLabel(
84+
username=conf.options.get_value('targetusername'),
85+
label='status updates')
86+
8387
def testCreateFilter(self):
8488
if not conf.options.get_value('runlive') == 'true':
8589
return

0 commit comments

Comments
 (0)