Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions/web/facebook/facebook/facebook.py
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/web/facebook/facebook/facebook.py')
-rw-r--r--extensions/web/facebook/facebook/facebook.py44
1 files changed, 32 insertions, 12 deletions
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)