Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2013-02-03 19:15:42 (GMT)
committer Walter Bender <walter.bender@gmail.com>2013-02-03 19:15:42 (GMT)
commite5acabbedb7e06beb405b470b1c0189f73b57766 (patch)
tree288d3f93c1353f101661c44f100c95ec40cc5fb1
parent688ad9d24d5d5c4fd73074eb35c8400cdd8c6169 (diff)
parent92f971100d2a7a302992ed694b1dfc2719513429 (diff)
Merge branch 'master' of git.sugarlabs.org:+redwood-city/sugar/social-sugar
-rw-r--r--configure.ac3
-rw-r--r--extensions/Makefile.am2
-rw-r--r--extensions/cpsection/facebook/model.py3
-rw-r--r--extensions/web/Makefile.am6
-rw-r--r--extensions/web/__init__.py0
-rw-r--r--extensions/web/facebook/Makefile.am4
-rw-r--r--extensions/web/facebook/__init__.py0
-rw-r--r--extensions/web/facebook/facebook.py (renamed from src/jarabe/util/facebook.py)1
-rw-r--r--extensions/web/facebook_online_account.py (renamed from src/jarabe/util/facebook_online_account.py)12
-rw-r--r--src/jarabe/Makefile.am3
-rw-r--r--src/jarabe/journal/journaltoolbox.py2
-rw-r--r--src/jarabe/journal/palettes.py2
-rw-r--r--src/jarabe/util/Makefile.am6
-rw-r--r--src/jarabe/web/Makefile.am5
-rw-r--r--src/jarabe/web/__init__.py18
-rw-r--r--src/jarabe/web/online_account.py (renamed from src/jarabe/util/online_account.py)0
-rw-r--r--src/jarabe/web/online_accounts_manager.py (renamed from src/jarabe/util/online_accounts_manager.py)17
17 files changed, 69 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index 43056ed..fe1c67a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -64,6 +64,8 @@ extensions/cpsection/updater/backends/Makefile
extensions/cpsection/updater/Makefile
extensions/deviceicon/Makefile
extensions/globalkey/Makefile
+extensions/web/Makefile
+extensions/web/facebook/Makefile
extensions/Makefile
Makefile
po/Makefile.in
@@ -77,6 +79,7 @@ src/jarabe/Makefile
src/jarabe/model/Makefile
src/jarabe/util/Makefile
src/jarabe/util/telepathy/Makefile
+src/jarabe/web/Makefile
src/jarabe/view/Makefile
src/Makefile
])
diff --git a/extensions/Makefile.am b/extensions/Makefile.am
index d4ab534..cee24f9 100644
--- a/extensions/Makefile.am
+++ b/extensions/Makefile.am
@@ -1 +1 @@
-SUBDIRS = cpsection deviceicon globalkey
+SUBDIRS = cpsection deviceicon globalkey web
diff --git a/extensions/cpsection/facebook/model.py b/extensions/cpsection/facebook/model.py
index 6eed773..02ff541 100644
--- a/extensions/cpsection/facebook/model.py
+++ b/extensions/cpsection/facebook/model.py
@@ -18,9 +18,10 @@
from gettext import gettext as _
from gi.repository import GConf
+import os
import time
-from jarabe.util import facebook_online_account as fboa
+from web import facebook_online_account as fboa
def save_access_token(access_token, expires_in):
client = GConf.Client.get_default()
diff --git a/extensions/web/Makefile.am b/extensions/web/Makefile.am
new file mode 100644
index 0000000..31420cd
--- /dev/null
+++ b/extensions/web/Makefile.am
@@ -0,0 +1,6 @@
+SUBDIRS = facebook
+
+sugardir = $(pkgdatadir)/extensions/web
+sugar_PYTHON = \
+ __init__.py \
+ facebook_online_account.py
diff --git a/extensions/web/__init__.py b/extensions/web/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/extensions/web/__init__.py
diff --git a/extensions/web/facebook/Makefile.am b/extensions/web/facebook/Makefile.am
new file mode 100644
index 0000000..f6d39b6
--- /dev/null
+++ b/extensions/web/facebook/Makefile.am
@@ -0,0 +1,4 @@
+sugardir = $(pkgdatadir)/extensions/web/facebook
+sugar_PYTHON = \
+ __init__.py \
+ facebook.py
diff --git a/extensions/web/facebook/__init__.py b/extensions/web/facebook/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/extensions/web/facebook/__init__.py
diff --git a/src/jarabe/util/facebook.py b/extensions/web/facebook/facebook.py
index 92529dc..48d5921 100644
--- a/src/jarabe/util/facebook.py
+++ b/extensions/web/facebook/facebook.py
@@ -33,7 +33,6 @@ class FbAccount():
@classmethod
def set_access_token(cls, access_token):
- logging.debug("LOOK = %s" % (access_token))
cls._access_token = access_token
@classmethod
diff --git a/src/jarabe/util/facebook_online_account.py b/extensions/web/facebook_online_account.py
index dcc82ad..f07209d 100644
--- a/src/jarabe/util/facebook_online_account.py
+++ b/extensions/web/facebook_online_account.py
@@ -26,6 +26,8 @@ import os
import tempfile
import time
+from facebook import facebook
+
from gi.repository import Gtk
from gi.repository import GdkPixbuf
from gi.repository import GConf
@@ -35,8 +37,8 @@ from sugar3.graphics.alert import Alert, NotifyAlert
from sugar3.graphics.icon import Icon
from jarabe.journal import journalwindow
-from jarabe.util import facebook
-from jarabe.util import online_account
+
+from jarabe.web import online_account
ACCOUNT_NEEDS_ATTENTION = 0
ACCOUNT_ACTIVE = 1
@@ -62,6 +64,9 @@ class FacebookOnlineAccount(online_account.OnlineAccount):
return expiration_date != 0 and expiration_date > time.time()
def get_share_menu(self, journal_entry_metadata):
+ # TODO:
+ # this logic belongs inside FacebookShareMenu
+ # we should set this menu to insensitive if !is_active()
if self.is_active():
icon_name = 'facebook-share'
else:
@@ -225,3 +230,6 @@ class FacebookRefreshButton(online_account.OnlineRefreshButton):
def __fb_refresh_offline_response_cb(self, alert, alert_id):
pass
+
+def get_account():
+ return FacebookOnlineAccount()
diff --git a/src/jarabe/Makefile.am b/src/jarabe/Makefile.am
index d926d9f..39099a5 100644
--- a/src/jarabe/Makefile.am
+++ b/src/jarabe/Makefile.am
@@ -6,7 +6,8 @@ SUBDIRS = \
model \
view \
intro \
- util
+ util \
+ web
sugardir = $(pythondir)/jarabe
sugar_PYTHON = \
diff --git a/src/jarabe/journal/journaltoolbox.py b/src/jarabe/journal/journaltoolbox.py
index f1c1e3e..ce09500 100644
--- a/src/jarabe/journal/journaltoolbox.py
+++ b/src/jarabe/journal/journaltoolbox.py
@@ -48,7 +48,7 @@ from jarabe.journal import model
from jarabe.journal.palettes import ClipboardMenu
from jarabe.journal.palettes import VolumeMenu
from jarabe.journal import journalwindow
-from jarabe.util import online_accounts_manager as oam
+from jarabe.web import online_accounts_manager as oam
_AUTOSEARCH_TIMEOUT = 1000
diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py
index e03bc61..b69f55b 100644
--- a/src/jarabe/journal/palettes.py
+++ b/src/jarabe/journal/palettes.py
@@ -42,7 +42,7 @@ from jarabe.model import mimeregistry
from jarabe.journal import misc
from jarabe.journal import model
from jarabe.journal import journalwindow
-from jarabe.util import online_accounts_manager as oam
+from jarabe.web import online_accounts_manager as oam
class ObjectPalette(Palette):
diff --git a/src/jarabe/util/Makefile.am b/src/jarabe/util/Makefile.am
index 7f80330..3054b5a 100644
--- a/src/jarabe/util/Makefile.am
+++ b/src/jarabe/util/Makefile.am
@@ -5,8 +5,4 @@ sugardir = $(pythondir)/jarabe/util
sugar_PYTHON = \
__init__.py \
emulator.py \
- facebook.py \
- facebook_online_account.py \
- normalize.py \
- online_account.py \
- online_accounts_manager.py
+ normalize.py
diff --git a/src/jarabe/web/Makefile.am b/src/jarabe/web/Makefile.am
new file mode 100644
index 0000000..b751410
--- /dev/null
+++ b/src/jarabe/web/Makefile.am
@@ -0,0 +1,5 @@
+sugardir = $(pythondir)/jarabe/web
+sugar_PYTHON = \
+ __init__.py \
+ online_account.py \
+ online_accounts_manager.py
diff --git a/src/jarabe/web/__init__.py b/src/jarabe/web/__init__.py
new file mode 100644
index 0000000..9c80ecb
--- /dev/null
+++ b/src/jarabe/web/__init__.py
@@ -0,0 +1,18 @@
+"""OLPC Sugar Jarabe utility modules
+"""
+
+# Copyright (C) 2008, One Laptop Per Child
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
diff --git a/src/jarabe/util/online_account.py b/src/jarabe/web/online_account.py
index 560c252..560c252 100644
--- a/src/jarabe/util/online_account.py
+++ b/src/jarabe/web/online_account.py
diff --git a/src/jarabe/util/online_accounts_manager.py b/src/jarabe/web/online_accounts_manager.py
index c262968..cb7a7ce 100644
--- a/src/jarabe/util/online_accounts_manager.py
+++ b/src/jarabe/web/online_accounts_manager.py
@@ -21,15 +21,28 @@
#THE SOFTWARE.
from gi.repository import GObject
+import logging
+import os
-from jarabe.util import facebook_online_account as fboa
+from jarabe import config
class OnlineAccountsManager(GObject.GObject):
@classmethod
def all_accounts(cls):
accounts = []
- accounts.append(fboa.FacebookOnlineAccount())
+
+ for f in os.listdir(os.path.join(config.ext_path, 'web')):
+ if f.endswith('.py') and not f.startswith('__'):
+ module_name = f[:-3]
+ logging.debug("OnlineAccountsManager loading %s" % \
+ (module_name))
+ try:
+ mod = __import__('web.' + module_name, globals(),
+ locals(), [module_name])
+ accounts.append(mod.get_account())
+ except Exception:
+ logging.exception('Exception while loading extension:')
return accounts
@classmethod