conduit r1508 - in trunk: . conduit/modules/FacebookModule test/python-tests
- From: jstowers svn gnome org
- To: svn-commits-list gnome org
- Subject: conduit r1508 - in trunk: . conduit/modules/FacebookModule test/python-tests
- Date: Sat, 7 Jun 2008 04:16:47 +0000 (UTC)
Author: jstowers
Date: Sat Jun 7 04:16:47 2008
New Revision: 1508
URL: http://svn.gnome.org/viewvc/conduit?rev=1508&view=rev
Log:
2008-06-07 John Stowers <john stowers gmail com>
* conduit/modules/FacebookModule/FacebookModule.py: add _get_albums and
_get_photos. Now someone just needs to implement get() around these
* test/python-tests/TestDataProviderFacebook.py: Test new functions, and
fix long standing bug where using image dataprovider tests would
not work with facebook.
Modified:
trunk/ChangeLog
trunk/conduit/modules/FacebookModule/FacebookModule.py
trunk/test/python-tests/TestDataProviderFacebook.py
Modified: trunk/conduit/modules/FacebookModule/FacebookModule.py
==============================================================================
--- trunk/conduit/modules/FacebookModule/FacebookModule.py (original)
+++ trunk/conduit/modules/FacebookModule/FacebookModule.py Sat Jun 7 04:16:47 2008
@@ -56,6 +56,26 @@
return Rid(uid=rsp["pid"])
except pyfacebook.FacebookError, f:
raise Exceptions.SyncronizeError("Facebook Upload Error %s" % f)
+
+ def _get_albums(self):
+ albums = []
+ try:
+ for a in self.fapi.photos.getAlbums(self.fapi.uid):
+ albums.append((a['name'], a['aid']))
+ except pyfacebook.FacebookError, f:
+ log.warn("Error getting album list: %s" % f)
+ return albums
+
+ def _get_photos(self, albumID):
+ photos = {}
+ try:
+ for p in self.fapi.photos.get(aid=albumID):
+ #only return big photos
+ if p.get("src_big", ""):
+ photos[p['pid']] = p
+ except pyfacebook.FacebookError, f:
+ log.warn("Error getting photos from album %s list: %s" % (albumID,f))
+ return photos
def _login(self):
"""
@@ -78,13 +98,14 @@
log.info("Trying Login")
rsp = self.fapi.auth.getSession()
return rsp.has_key("secret") and rsp.has_key("session_key")
-
+
def refresh(self):
Image.ImageSink.refresh(self)
if self.fapi.uid == None:
self._login()
def get_UID(self):
- return ""
+ if self.fapi.uid == None:
+ return ""
return self.fapi.uid
Modified: trunk/test/python-tests/TestDataProviderFacebook.py
==============================================================================
--- trunk/test/python-tests/TestDataProviderFacebook.py (original)
+++ trunk/test/python-tests/TestDataProviderFacebook.py Sat Jun 7 04:16:47 2008
@@ -7,7 +7,7 @@
#setup the test
test = SimpleTest(sinkName="FacebookSink")
#Hack Facebook to use the system browser (it really needs to use the gtkmozembed one)
-facebook = test.get_dataprovider("FacebookSink").module
+facebook = test.get_sink().module
facebook.browser = "system"
#Log in
@@ -15,22 +15,21 @@
facebook.refresh()
ok("Logged in", True)
except Exception, err:
- ok("Logged in (%s)" % err, False)
+ ok("Logged in (%s)" % err, False)
+
+albums = facebook._get_albums()
+ok("Got %d albums" % len(albums), len(albums) > 0)
-#Perform image tests
-#test.do_image_dataprovider_tests(
-# supportsGet=False,
-# supportsDelete=False,
-# safePhotoLUID=None
-# )
+name, aid = albums[0]
+photos = facebook._get_photos(int(aid))
+ok("Got %d photos" % len(photos), len(photos) > 0)
-#Send a remote file
-f = Photo.Photo(URI="http://files.conduit-project.org/screenshot.png")
-try:
- rid = facebook.put(f, True)
- ok("Upload a photo (%s) " % rid, True)
-except Exception, err:
- ok("Upload a photo (%s)" % err, False)
+#Perform image tests
+test.do_image_dataprovider_tests(
+ supportsGet=False,
+ supportsDelete=False,
+ safePhotoLUID=None
+ )
finished()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]