diff options
Diffstat (limited to 'extensions/web/facebook')
-rw-r--r-- | extensions/web/facebook/account.py | 16 | ||||
-rw-r--r-- | extensions/web/facebook/facebook/facebook.py | 44 |
2 files changed, 42 insertions, 18 deletions
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) |