diff options
author | Walter Bender <walter@sugarlabs.org> | 2013-06-10 02:34:28 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2013-06-10 02:34:28 (GMT) |
commit | fa5ecdd28aa7f6991a7343179466ca500f8d872e (patch) | |
tree | e9c88fe64871ab2eed92e00ab33f363f813afcde | |
parent | 208a68e451635883d0c6f58e56c8308bafe8b16c (diff) |
-rw-r--r-- | extensions/cpsection/webservices/services/facebook/service.py | 17 | ||||
-rw-r--r-- | extensions/cpsection/webservices/services/twitter/service.py | 19 | ||||
-rw-r--r-- | extensions/cpsection/webservices/view.py | 5 | ||||
-rw-r--r-- | extensions/web/facebook/account.py | 16 | ||||
-rw-r--r-- | extensions/web/facebook/facebook/facebook.py | 44 | ||||
-rw-r--r-- | extensions/web/twitter/account.py | 17 | ||||
-rw-r--r-- | extensions/web/twitter/twitter/twr_account.py | 15 | ||||
-rw-r--r-- | extensions/web/twitter/twitter/twr_oauth.py | 45 | ||||
-rw-r--r-- | extensions/web/twitter/twitter/twr_object.py | 7 | ||||
-rw-r--r-- | extensions/web/twitter/twitter/twr_search.py | 21 | ||||
-rw-r--r-- | extensions/web/twitter/twitter/twr_status.py | 121 | ||||
-rw-r--r-- | extensions/web/twitter/twitter/twr_timeline.py | 44 |
12 files changed, 198 insertions, 173 deletions
diff --git a/extensions/cpsection/webservices/services/facebook/service.py b/extensions/cpsection/webservices/services/facebook/service.py index 3b840ca..01b9d4e 100644 --- a/extensions/cpsection/webservices/services/facebook/service.py +++ b/extensions/cpsection/webservices/services/facebook/service.py @@ -15,17 +15,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import logging -import os import time import urllib import urlparse from gi.repository import GConf -from gi.repository import Gtk -from gi.repository import GObject from gi.repository import WebKit -from gettext import gettext as _ -from jarabe import config from web.facebook import account from cpsection.webservices.web_service import WebService @@ -54,12 +49,10 @@ class WebService(WebService): def _fb_auth_url(self): url = 'http://www.facebook.com/dialog/oauth' - params = [ - ('client_id', self.FB_APP_ID), - ('redirect_uri', self.FB_REDIRECT_URI), - ('response_type', 'token'), - ('scope', 'publish_stream') - ] + params = [('client_id', self.FB_APP_ID), + ('redirect_uri', self.FB_REDIRECT_URI), + ('response_type', 'token'), + ('scope', 'publish_stream')] return "%s?%s" % (url, urllib.urlencode(params)) @@ -70,7 +63,7 @@ class WebService(WebService): url_o = urlparse.urlparse(uri) params = urlparse.parse_qs(url_o.fragment) - if params.has_key('access_token') and params.has_key('expires_in'): + if 'access_token' in params and 'expires_in' in params: self._fb_save_access_token(params['access_token'][0], int(params['expires_in'][0])) diff --git a/extensions/cpsection/webservices/services/twitter/service.py b/extensions/cpsection/webservices/services/twitter/service.py index 0914a59..b1c3650 100644 --- a/extensions/cpsection/webservices/services/twitter/service.py +++ b/extensions/cpsection/webservices/services/twitter/service.py @@ -52,7 +52,7 @@ class TwitterService(WebService): # XXX update step 3 TwrAccount.set_secrets(self._consumer_token, self._consumer_secret, - self._access_token, self._access_secret) + self._access_token, self._access_secret) self._client.set_string(twr.CONSUMER_TOKEN_KEY, self._consumer_token) self._client.set_string(twr.CONSUMER_SECRET_KEY, self._consumer_secret) @@ -66,7 +66,7 @@ class TwitterService(WebService): # XXX update step 2 TwrAccount.set_secrets(self._consumer_token, self._consumer_secret, - data['oauth_token'], data['oauth_token_secret']) + data['oauth_token'], data['oauth_token_secret']) url = TwrOauth.AUTHORIZATION_URL % data['oauth_token'] wkv = WebKit.WebView() @@ -88,9 +88,9 @@ class TwitterService(WebService): verifier = entry.get_text() oauth = TwrOauth() oauth.connect('access-downloaded', - self._twr_save_access_cb, container) + self._twr_save_access_cb, container) oauth.connect('access-downloaded-failed', - self._twr_failed_cb, container) + self._twr_failed_cb, container) oauth.access_token(verifier) label.set_text(_('Code:')) @@ -114,8 +114,8 @@ class TwitterService(WebService): def _twr_failed_cb(self, oauth, message, container): logging.debug('_twr_failed_cb: %s', message) - self._twr_show_msg(container, _('Your twitter account can not be '\ - 'configured at this moment.')) + self._twr_show_msg(container, _('Your twitter account can not be ' + 'configured at this moment.')) def _twr_show_msg(self, container, msg): @@ -143,13 +143,14 @@ class TwitterService(WebService): # XXX update step 1 TwrAccount.set_secrets(self._consumer_token, self._consumer_secret, - self._access_token, self._access_secret) - + self._access_token, self._access_secret) + oauth = TwrOauth() oauth.connect('request-downloaded', self._twr_verify_cb, container) oauth.connect('request-downloaded-failed', - self._twr_failed_cb, container) + self._twr_failed_cb, container) oauth.request_token() + def get_service(): return TwitterService() diff --git a/extensions/cpsection/webservices/view.py b/extensions/cpsection/webservices/view.py index 0ffe95b..809fe04 100644 --- a/extensions/cpsection/webservices/view.py +++ b/extensions/cpsection/webservices/view.py @@ -18,7 +18,6 @@ import logging import os from gi.repository import Gtk -from gi.repository import GObject from gettext import gettext as _ from jarabe import config from jarabe.controlpanel.sectionview import SectionView @@ -113,7 +112,7 @@ Please visit http://wiki.sugarlabs.org/WebServices for more details.')) services.append(mod.get_service()) except Exception as e: logging.exception( - 'Exception while loading extension %s: %s' % \ - (f, str(e))) + 'Exception while loading extension %s: %s' % + (f, str(e))) return services diff --git a/extensions/web/facebook/account.py b/extensions/web/facebook/account.py index a97e565..d768691 100644 --- a/extensions/web/facebook/account.py +++ b/extensions/web/facebook/account.py @@ -71,7 +71,7 @@ class Account(account.Account): if expiration_date != 0 and expiration_date > time.time(): return self.STATE_VALID else: - return self.STATE_EXPIRED + return self.STATE_EXPIRED def _access_token(self): return self._client.get_string(self.ACCESS_TOKEN_KEY) @@ -86,7 +86,8 @@ class _SharedJournalEntry(account.SharedJournalEntry): __gsignals__ = { 'transfer-state-changed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), - } + } + def __init__(self, fbaccount): self._account = fbaccount self._alert = None @@ -131,7 +132,7 @@ class _ShareMenu(MenuItem): __gsignals__ = { 'transfer-state-changed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), - } + } def __init__(self, metadata, is_active): MenuItem.__init__(self, ACCOUNT_NAME) @@ -221,7 +222,7 @@ class _RefreshMenu(MenuItem): 'transfer-state-changed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), 'comments-changed': (GObject.SignalFlags.RUN_FIRST, None, ([str])) - } + } def __init__(self, is_active): MenuItem.__init__(self, ACCOUNT_NAME) @@ -256,11 +257,13 @@ class _RefreshMenu(MenuItem): logging.debug('_fb_refresh_menu_clicked_cb') if self._metadata is None: - logging.debug('_fb_refresh_menu_clicked_cb called without metadata') + logging.debug( + '_fb_refresh_menu_clicked_cb called without metadata') return if 'fb_object_id' not in self._metadata: - logging.debug('_fb_refresh_menu_clicked_cb called without fb_object_id in metadata') + logging.debug('_fb_refresh_menu_clicked_cb called without \ +fb_object_id in metadata') return self.emit('transfer-state-changed', _('Download started')) @@ -302,5 +305,6 @@ class _RefreshMenu(MenuItem): def _fb_comments_download_failed_cb(self, fb_photo, failed_reason): logging.debug('_fb_comments_download_failed_cb: %s' % (failed_reason)) + def get_account(): return Account() diff --git a/extensions/web/facebook/facebook/facebook.py b/extensions/web/facebook/facebook/facebook.py index be37abd..62c15de 100644 --- a/extensions/web/facebook/facebook/facebook.py +++ b/extensions/web/facebook/facebook/facebook.py @@ -28,6 +28,7 @@ import urllib from gi.repository import GObject + class FbAccount(): _access_token = "" @@ -39,9 +40,11 @@ class FbAccount(): def access_token(cls): return cls._access_token + class FbObjectNotCreatedException(Exception): pass + class FbBadCall(Exception): pass @@ -60,6 +63,7 @@ FB_TYPES = { FB_STATUS: "status", } + class FbPhoto(GObject.GObject): PHOTOS_URL = "https://graph.facebook.com/me/photos?access_token=%s" COMMENTS_URL = "https://graph.facebook.com/%s/comments" @@ -69,14 +73,22 @@ class FbPhoto(GObject.GObject): 'photo-create-failed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), 'comment-added': (GObject.SignalFlags.RUN_FIRST, None, ([str])), 'comment-add-failed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), - 'comments-downloaded': (GObject.SignalFlags.RUN_FIRST, None, ([object])), - 'comments-download-failed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), - 'likes-downloaded': (GObject.SignalFlags.RUN_FIRST, None, ([object])), - 'transfer-started': (GObject.SignalFlags.RUN_FIRST, None, ([int, int])), - 'transfer-progress': (GObject.SignalFlags.RUN_FIRST, None, ([int, int, float])), - 'transfer-completed': (GObject.SignalFlags.RUN_FIRST, None, ([int, int])), - 'transfer-failed': (GObject.SignalFlags.RUN_FIRST, None, ([int, int, str])), - 'transfer-state-changed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), + 'comments-downloaded': (GObject.SignalFlags.RUN_FIRST, None, + ([object])), + 'comments-download-failed': (GObject.SignalFlags.RUN_FIRST, None, + ([str])), + 'likes-downloaded': (GObject.SignalFlags.RUN_FIRST, None, + ([object])), + 'transfer-started': (GObject.SignalFlags.RUN_FIRST, None, + ([int, int])), + 'transfer-progress': (GObject.SignalFlags.RUN_FIRST, None, + ([int, int, float])), + 'transfer-completed': (GObject.SignalFlags.RUN_FIRST, None, + ([int, int])), + 'transfer-failed': (GObject.SignalFlags.RUN_FIRST, None, + ([int, int, str])), + 'transfer-state-changed': (GObject.SignalFlags.RUN_FIRST, None, + ([str])), } def __init__(self, fb_object_id=None): @@ -104,6 +116,7 @@ class FbPhoto(GObject.GObject): url = self.COMMENTS_URL % (self.fb_object_id) response = [] + def write_cb(buf): response.append(buf) @@ -125,6 +138,7 @@ class FbPhoto(GObject.GObject): params = [('source', (c.FORM_FILE, image_path))] response = [] + def write_cb(buf): response.append(buf) @@ -163,12 +177,14 @@ class FbPhoto(GObject.GObject): logging.debug("_refresh_comments fetching %s" % (url)) response_comments = [] + def write_cb(buf): response_comments.append(buf) - ret = self._http_call(url, [], write_cb, False, FB_COMMENT) + ret = self._http_call(url, [], write_cb, False, FB_COMMENT) if ret != 200: - logging.debug("_refresh_comments failed, HTTP resp code: %d" % ret) + logging.debug("_refresh_comments failed, HTTP resp code: %d" % + ret) self.emit('comments-download-failed', "Comments download failed: %d" % (ret)) return @@ -242,7 +258,8 @@ class FbPhoto(GObject.GObject): if result != 200: error_reason = "HTTP Code %d" % (result) self.emit('transfer-failed', fb_type, transfer_type, error_reason) - self.emit('transfer-state-changed', "%s failed: %s" % (transfer_str, error_reason)) + self.emit('transfer-state-changed', "%s failed: %s" % + (transfer_str, error_reason)) c.close() @@ -268,7 +285,8 @@ class FbPhoto(GObject.GObject): state = "started" elif done == total: self.emit('transfer-completed', fb_type, transfer_type) - self.emit('transfer-state-changed', "%s completed" % (transfer_str)) + self.emit('transfer-state-changed', "%s completed" % + (transfer_str)) state = "completed" else: if total != 0: @@ -299,6 +317,7 @@ def test_create_photo(loop): photo.connect('photo-created', photo_created_cb, loop) photo.create(photo_path) + def test_add_comment(loop): def photo_created_cb(photo, photo_id, loop): print "Photo created: %s" % (photo_id) @@ -317,6 +336,7 @@ def test_add_comment(loop): photo.connect('photo-created', photo_created_cb, loop) photo.create(photo_path) + def test_get_comments(loop): def photo_created_cb(photo, photo_id, loop): print "Photo created: %s" % (photo_id) diff --git a/extensions/web/twitter/account.py b/extensions/web/twitter/account.py index 934396d..d9643f1 100644 --- a/extensions/web/twitter/account.py +++ b/extensions/web/twitter/account.py @@ -24,7 +24,6 @@ from gettext import gettext as _ import logging import os import tempfile -import time import json from gi.repository import Gtk @@ -55,7 +54,8 @@ COMMENT_LAST_ID = 'last_comment_id' class Account(account.Account): CONSUMER_TOKEN_KEY = "/desktop/sugar/collaboration/twitter_consumer_token" - CONSUMER_SECRET_KEY = "/desktop/sugar/collaboration/twitter_consumer_secret" + CONSUMER_SECRET_KEY = \ + "/desktop/sugar/collaboration/twitter_consumer_secret" ACCESS_TOKEN_KEY = "/desktop/sugar/collaboration/twitter_access_token" ACCESS_SECRET_KEY = "/desktop/sugar/collaboration/twitter_access_secret" @@ -86,11 +86,13 @@ class Account(account.Account): self._shared_journal_entry = _SharedJournalEntry(self) return self._shared_journal_entry + class _SharedJournalEntry(account.SharedJournalEntry): __gsignals__ = { 'transfer-state-changed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), - } + } + def __init__(self, twaccount): self._account = twaccount self._alert = None @@ -165,7 +167,7 @@ class _ShareMenu(MenuItem): if os.path.exists(tmp_file): os.unlink(tmp_file) logging.error('_status_updated_failed_cb %s', message) - + def _twitter_share_menu_cb(self, menu_item): logging.debug('_twitter_share_menu_cb') @@ -176,7 +178,7 @@ class _ShareMenu(MenuItem): status = TwrStatus() status.connect('status-updated', self._status_updated_cb, tmp_file) status.connect('status-updated-failed', - self._status_updated_failed_cb, tmp_file) + self._status_updated_failed_cb, tmp_file) status.update_with_media(self._comment, tmp_file) def _image_file_from_metadata(self, image_path): @@ -273,7 +275,7 @@ in metadata') # XXX hope for a better API if comment['in_reply_to_status_id_str'] != \ self._metadata['twr_object_id']: - continue + continue if comment['id_str'] not in ds_comment_ids: ds_comments.append({'from': comment['user']['name'], @@ -283,7 +285,7 @@ in metadata') # XXX keep the latest one if comment['id_str'] > comment_id: - comment_id = comment['id_str'] + comment_id = comment['id_str'] new_comment = True if new_comment: @@ -297,5 +299,6 @@ in metadata') def _twr_comments_download_failed_cb(self, tweet, failed_reason): logging.debug('_twr_comments_download_failed_cb: %s' % (failed_reason)) + def get_account(): return Account() diff --git a/extensions/web/twitter/twitter/twr_account.py b/extensions/web/twitter/twitter/twr_account.py index ecdeba7..d0828d5 100644 --- a/extensions/web/twitter/twitter/twr_account.py +++ b/extensions/web/twitter/twitter/twr_account.py @@ -61,14 +61,15 @@ class TwrAccount: 'oauth_consumer_key': cls._consumer_key, 'oauth_version': '1.0', 'oauth_token': cls._access_key, - 'oauth_signature_method': 'HMAC-SHA1'} + 'oauth_signature_method': 'HMAC-SHA1' + } params = dict(oauth_params.items() + request_params) params['oauth_signature'] = cls._oauth_signature(method, url, params) - header = 'OAuth %s' % ', '.join(['%s="%s"' % \ - (k, TwrAccount._percent(v)) \ - for k, v in sorted(params.iteritems())]) + header = 'OAuth %s' % ', '.join( + ['%s="%s"' % (k, TwrAccount._percent(v)) + for k, v in sorted(params.iteritems())]) return header @@ -90,9 +91,9 @@ class TwrAccount: @staticmethod def _string_params(params): - key_values = [(TwrAccount._percent(TwrAccount._utf8(k)), \ - TwrAccount._percent(TwrAccount._utf8(v))) \ - for k, v in params.items()] + key_values = [(TwrAccount._percent(TwrAccount._utf8(k)), + TwrAccount._percent(TwrAccount._utf8(v))) + for k, v in params.items()] key_values.sort() return '&'.join(['%s=%s' % (k, v) for k, v in key_values]) diff --git a/extensions/web/twitter/twitter/twr_oauth.py b/extensions/web/twitter/twitter/twr_oauth.py index e551546..099a8e0 100644 --- a/extensions/web/twitter/twitter/twr_oauth.py +++ b/extensions/web/twitter/twitter/twr_oauth.py @@ -31,43 +31,44 @@ class TwrOauth(GObject.GObject): REQUEST_TOKEN_URL = 'https://api.twitter.com/oauth/request_token' AUTHORIZATION_URL = 'https://api.twitter.com/oauth/'\ - 'authorize?oauth_token=%s' + 'authorize?oauth_token=%s' ACCESS_TOKEN_URL = 'https://api.twitter.com/oauth/access_token' __gsignals__ = { - 'request-downloaded': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), + 'request-downloaded': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), 'request-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str])), - 'access-downloaded': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), + None, ([str])), + 'access-downloaded': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), 'access-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str]))} + None, ([str])) + } def request_token(self): GObject.idle_add(self._get, - self.REQUEST_TOKEN_URL, - [], - self.__completed_cb, - self.__failed_cb, - 'request-downloaded', - 'request-downloaded-failed') + self.REQUEST_TOKEN_URL, + [], + self.__completed_cb, + self.__failed_cb, + 'request-downloaded', + 'request-downloaded-failed') def access_token(self, verifier): params = [('oauth_callback', ('oob')), ('oauth_verifier', (verifier))] GObject.idle_add(self._post, - self.ACCESS_TOKEN_URL, - params, - None, - self.__completed_cb, - self.__failed_cb, - 'access-downloaded', - 'access-downloaded-failed') + self.ACCESS_TOKEN_URL, + params, + None, + self.__completed_cb, + self.__failed_cb, + 'access-downloaded', + 'access-downloaded-failed') def _get(self, url, params, - completed_cb, failed_cb, completed_data, failed_data): + completed_cb, failed_cb, completed_data, failed_data): object = TwrObject() object.connect('transfer-completed', completed_cb, completed_data) @@ -75,7 +76,7 @@ class TwrOauth(GObject.GObject): object.request('GET', url, params) def _post(self, url, params, filepath, - completed_cb, failed_cb, completed_data, failed_data): + completed_cb, failed_cb, completed_data, failed_data): object = TwrObject() object.connect('transfer-completed', completed_cb, completed_data) diff --git a/extensions/web/twitter/twitter/twr_object.py b/extensions/web/twitter/twitter/twr_object.py index 5acb4cd..5492463 100644 --- a/extensions/web/twitter/twitter/twr_object.py +++ b/extensions/web/twitter/twitter/twr_object.py @@ -32,10 +32,11 @@ class TwrObject(GObject.GObject): __gsignals__ = { 'transfer-completed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), - 'transfer-progress': (GObject.SignalFlags.RUN_FIRST, None, \ - ([float, float, str])), + 'transfer-progress': (GObject.SignalFlags.RUN_FIRST, None, + ([float, float, str])), 'transfer-failed': (GObject.SignalFlags.RUN_FIRST, None, ([str])), - 'transfer-started': (GObject.SignalFlags.RUN_FIRST, None, ([]))} + 'transfer-started': (GObject.SignalFlags.RUN_FIRST, None, ([])) + } def _gen_header(self, method, url, params=[]): authorization = TwrAccount.authorization_header(method, url, params) diff --git a/extensions/web/twitter/twitter/twr_search.py b/extensions/web/twitter/twitter/twr_search.py index f2d9440..0d7157f 100644 --- a/extensions/web/twitter/twitter/twr_search.py +++ b/extensions/web/twitter/twitter/twr_search.py @@ -33,10 +33,11 @@ class TwrSearch(GObject.GObject): TWEETS_URL = 'https://api.twitter.com/1.1/search/tweets.json' __gsignals__ = { - 'tweets-downloaded': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), + 'tweets-downloaded': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), 'tweets-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str]))} + None, ([str])) + } def tweets(self, q, count=None, since_id=None, max_id=None): params = [('q', (q))] @@ -49,15 +50,15 @@ class TwrSearch(GObject.GObject): params += [('max_id', (max_id))] GObject.idle_add(self._get, - self.TWEETS_URL, - params, - self.__completed_cb, - self.__failed_cb, - 'tweets-downloaded', - 'tweets-downloaded-failed') + self.TWEETS_URL, + params, + self.__completed_cb, + self.__failed_cb, + 'tweets-downloaded', + 'tweets-downloaded-failed') def _get(self, url, params, completed_cb, failed_cb, - completed_data, failed_data): + completed_data, failed_data): object = TwrObject() object.connect('transfer-completed', completed_cb, completed_data) diff --git a/extensions/web/twitter/twitter/twr_status.py b/extensions/web/twitter/twitter/twr_status.py index 7ba6ea9..daecc02 100644 --- a/extensions/web/twitter/twitter/twr_status.py +++ b/extensions/web/twitter/twitter/twr_status.py @@ -38,26 +38,27 @@ class TwrStatus(GObject.GObject): DESTROY_URL = 'https://api.twitter.com/1.1/statuses/destroy/%s.json' __gsignals__ = { - 'status-updated': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), - 'status-updated-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str])), - 'status-downloaded': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), - 'status-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str])), - 'status-destroyed': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), - 'status-destroyed-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str])), - 'retweet-created': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), - 'retweet-created-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str])), - 'retweets-downloaded': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), + 'status-updated': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), + 'status-updated-failed': (GObject.SignalFlags.RUN_FIRST, + None, ([str])), + 'status-downloaded': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), + 'status-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, + None, ([str])), + 'status-destroyed': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), + 'status-destroyed-failed': (GObject.SignalFlags.RUN_FIRST, + None, ([str])), + 'retweet-created': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), + 'retweet-created-failed': (GObject.SignalFlags.RUN_FIRST, + None, ([str])), + 'retweets-downloaded': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), 'retweets-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str]))} + None, ([str])) + } def __init__(self, status_id=None): GObject.GObject.__init__(self) @@ -65,15 +66,15 @@ class TwrStatus(GObject.GObject): def update(self, status, reply_status_id=None): self._update(self.UPDATE_URL, - status, - None, - reply_status_id) + status, + None, + reply_status_id) def update_with_media(self, status, filepath, reply_status_id=None): self._update(self.UPDATE_WITH_MEDIA_URL, - status, - filepath, - reply_status_id) + status, + filepath, + reply_status_id) def _update(self, url, status, filepath=None, reply_status_id=None): self._check_is_not_created() @@ -83,55 +84,55 @@ class TwrStatus(GObject.GObject): params += [('in_reply_to_status_id', (reply_status_id))] GObject.idle_add(self._post, - url, - params, - filepath, - self.__completed_cb, - self.__failed_cb, - 'status-updated', - 'status-updated-failed') + url, + params, + filepath, + self.__completed_cb, + self.__failed_cb, + 'status-updated', + 'status-updated-failed') def show(self): self._check_is_created() GObject.idle_add(self._get, - self.SHOW_URL, - [('id', (self._status_id))], - self.__completed_cb, - self.__failed_cb, - 'status-downloaded', - 'status-downloaded-failed') + self.SHOW_URL, + [('id', (self._status_id))], + self.__completed_cb, + self.__failed_cb, + 'status-downloaded', + 'status-downloaded-failed') def destroy(self): self._check_is_created() GObject.idle_add(self._post, - self.DESTROY_URL % self._status_id, - None, - None, - self.__completed_cb, - self.__failed_cb, - 'status-destroyed', - 'status-destroyed-failed') + self.DESTROY_URL % self._status_id, + None, + None, + self.__completed_cb, + self.__failed_cb, + 'status-destroyed', + 'status-destroyed-failed') def retweet(self): self._check_is_created() GObject.idle_add(self._post, - self.RETWEET_URL % self._status_id, - None, - None, - self.__completed_cb, - self.__failed_cb, - 'retweet-created', - 'retweet-created-failed') + self.RETWEET_URL % self._status_id, + None, + None, + self.__completed_cb, + self.__failed_cb, + 'retweet-created', + 'retweet-created-failed') def retweets(self): self._check_is_created() GObject.idle_add(self._get, - self.RETWEETS_URL % self._status_id, - [], - self.__completed_cb, - self.__failed_cb, - 'retweets-downloaded', - 'retweets-downloaded-failed') + self.RETWEETS_URL % self._status_id, + [], + self.__completed_cb, + self.__failed_cb, + 'retweets-downloaded', + 'retweets-downloaded-failed') def _check_is_not_created(self): if self._status_id is not None: @@ -142,7 +143,7 @@ class TwrStatus(GObject.GObject): raise twr_error.TwrStatusNotCreated('Status not created') def _get(self, url, params, - completed_cb, failed_cb, completed_data, failed_data): + completed_cb, failed_cb, completed_data, failed_data): object = TwrObject() object.connect('transfer-completed', completed_cb, completed_data) @@ -150,7 +151,7 @@ class TwrStatus(GObject.GObject): object.request('GET', url, params) def _post(self, url, params, filepath, - completed_cb, failed_cb, completed_data, failed_data): + completed_cb, failed_cb, completed_data, failed_data): object = TwrObject() object.connect('transfer-completed', completed_cb, completed_data) diff --git a/extensions/web/twitter/twitter/twr_timeline.py b/extensions/web/twitter/twitter/twr_timeline.py index 3b3dfc9..a653efe 100644 --- a/extensions/web/twitter/twitter/twr_timeline.py +++ b/extensions/web/twitter/twitter/twr_timeline.py @@ -36,40 +36,40 @@ class TwrTimeline(TwrObject): 'home_timeline.json' __gsignals__ = { - 'mentions-downloaded': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), - 'mentions-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str])), - 'timeline-downloaded': (GObject.SignalFlags.RUN_FIRST, - None, ([object])), - 'timeline-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, - None, ([str]))} + 'mentions-downloaded': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), + 'mentions-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, + None, ([str])), + 'timeline-downloaded': (GObject.SignalFlags.RUN_FIRST, + None, ([object])), + 'timeline-downloaded-failed': (GObject.SignalFlags.RUN_FIRST, + None, ([str]))} def mentions_timeline(self, count=None, since_id=None, max_id=None): params = self._params(count, since_id, max_id) GObject.idle_add(self._get, - self.MENTIONS_TIMELINE_URL, - params, - self.__completed_cb, - self.__failed_cb, - 'mentions-downloaded', - 'mentions-downloaded-failed') + self.MENTIONS_TIMELINE_URL, + params, + self.__completed_cb, + self.__failed_cb, + 'mentions-downloaded', + 'mentions-downloaded-failed') def home_timeline(self, count=None, since_id=None, max_id=None, exclude_replies=None): params = self._params(count, since_id, max_id, exclude_replies) GObject.idle_add(self._get, - self.HOME_TIMELINE_URL, - params, - self.__completed_cb, - self.__failed_cb, - 'timeline-downloaded', - 'timeline-downloaded-failed') + self.HOME_TIMELINE_URL, + params, + self.__completed_cb, + self.__failed_cb, + 'timeline-downloaded', + 'timeline-downloaded-failed') def _params(self, count=None, since_id=None, - max_id=None, exclude_replies=None): + max_id=None, exclude_replies=None): params = [] if count is not None: @@ -84,7 +84,7 @@ class TwrTimeline(TwrObject): return params def _get(self, url, params, completed_cb, failed_cb, - completed_data, failed_data): + completed_data, failed_data): object = TwrObject() object.connect('transfer-completed', completed_cb, completed_data) |