Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--browser.py41
-rw-r--r--downloadmanager.py108
-rw-r--r--filepicker.py3
-rw-r--r--linkbutton.py10
-rw-r--r--messenger.py33
-rw-r--r--model.py6
-rw-r--r--progresslistener.py6
-rw-r--r--promptservice.py5
-rw-r--r--sessionhistory.py6
-rw-r--r--sessionstore.py14
-rwxr-xr-xwebactivity.py57
-rwxr-xr-xwebtoolbar.py19
12 files changed, 171 insertions, 137 deletions
diff --git a/browser.py b/browser.py
index 7de97af..783473a 100644
--- a/browser.py
+++ b/browser.py
@@ -69,27 +69,33 @@ class GetSourceListener(gobject.GObject):
class Browser(WebView):
- AGENT_SHEET = os.path.join(activity.get_bundle_path(), 'agent-stylesheet.css')
- USER_SHEET = os.path.join(env.get_profile_path(), 'gecko', 'user-stylesheet.css')
+ AGENT_SHEET = os.path.join(activity.get_bundle_path(),
+ 'agent-stylesheet.css')
+ USER_SHEET = os.path.join(env.get_profile_path(), 'gecko',
+ 'user-stylesheet.css')
def __init__(self):
WebView.__init__(self)
- io_service_class = components.classes["@mozilla.org/network/io-service;1"]
+ self._jobject = None
+
+ io_service_class = components.classes[ \
+ "@mozilla.org/network/io-service;1"]
io_service = io_service_class.getService(interfaces.nsIIOService)
cls = components.classes['@mozilla.org/content/style-sheet-service;1']
style_sheet_service = cls.getService(interfaces.nsIStyleSheetService)
if os.path.exists(Browser.AGENT_SHEET):
- agent_sheet_uri = io_service.newURI('file:///' + Browser.AGENT_SHEET,
- None, None)
+ agent_sheet_uri = io_service.newURI('file:///' +
+ Browser.AGENT_SHEET,
+ None, None)
style_sheet_service.loadAndRegisterSheet(agent_sheet_uri,
interfaces.nsIStyleSheetService.AGENT_SHEET)
if os.path.exists(Browser.USER_SHEET):
user_sheet_uri = io_service.newURI('file:///' + Browser.USER_SHEET,
- None, None)
+ None, None)
style_sheet_service.loadAndRegisterSheet(user_sheet_uri,
interfaces.nsIStyleSheetService.USER_SHEET)
@@ -100,10 +106,12 @@ class Browser(WebView):
return sessionstore.set_session(self, data)
def get_source(self):
- cls = components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
+ cls = components.classes[ \
+ '@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
persist = cls.createInstance(interfaces.nsIWebBrowserPersist)
# get the source from the cache
- persist.persistFlags = interfaces.nsIWebBrowserPersist.PERSIST_FLAGS_FROM_CACHE
+ persist.persistFlags = \
+ interfaces.nsIWebBrowserPersist.PERSIST_FLAGS_FROM_CACHE
progresslistener = GetSourceListener(persist)
persist.progressListener = xpcom.server.WrapObject(
@@ -122,7 +130,7 @@ class Browser(WebView):
self._jobject.file_path = file_path
def _have_source_cb(self, progress_listener):
- logging.debug("Finished getting source - writing to datastore")
+ logging.debug("Finished getting source - writing to datastore")
datastore.write(self._jobject,
reply_handler=self._internal_save_cb,
error_handler=self._internal_save_error_cb)
@@ -152,21 +160,26 @@ class Browser(WebView):
def _cleanup_jobject(self):
if self._jobject:
if os.path.isfile(self._jobject.file_path):
- logging.debug('_cleanup_jobject: removing %r' % self._jobject.file_path)
+ logging.debug('_cleanup_jobject: removing %r' %
+ self._jobject.file_path)
os.remove(self._jobject.file_path)
self._jobject.destroy()
self._jobject = None
def zoom_in(self):
- contentViewer = self.doc_shell.queryInterface(interfaces.nsIDocShell).contentViewer
+ contentViewer = self.doc_shell.queryInterface( \
+ interfaces.nsIDocShell).contentViewer
if contentViewer is not None:
- markupDocumentViewer = contentViewer.queryInterface(interfaces.nsIMarkupDocumentViewer)
+ markupDocumentViewer = contentViewer.queryInterface( \
+ interfaces.nsIMarkupDocumentViewer)
markupDocumentViewer.fullZoom += _ZOOM_AMOUNT
def zoom_out(self):
- contentViewer = self.doc_shell.queryInterface(interfaces.nsIDocShell).contentViewer
+ contentViewer = self.doc_shell.queryInterface( \
+ interfaces.nsIDocShell).contentViewer
if contentViewer is not None:
- markupDocumentViewer = contentViewer.queryInterface(interfaces.nsIMarkupDocumentViewer)
+ markupDocumentViewer = contentViewer.queryInterface( \
+ interfaces.nsIMarkupDocumentViewer)
markupDocumentViewer.fullZoom -= _ZOOM_AMOUNT
class XULDialog(gtk.Window):
diff --git a/downloadmanager.py b/downloadmanager.py
index c39927e..a9cd960 100644
--- a/downloadmanager.py
+++ b/downloadmanager.py
@@ -24,7 +24,6 @@ from xpcom.nsError import *
from xpcom import components
from xpcom.components import interfaces
from xpcom.server.factory import Factory
-import dbus
from sugar.datastore import datastore
from sugar import profile
@@ -53,12 +52,12 @@ _MIN_PERCENT_UPDATE = 10
_browser = None
_activity = None
_temp_path = '/tmp'
-def init(browser, activity, temp_path):
+def init(browser, activity_instance, temp_path):
global _browser
_browser = browser
global _activity
- _activity = activity
+ _activity = activity_instance
global _temp_path
_temp_path = temp_path
@@ -70,11 +69,11 @@ def can_quit():
def remove_all_downloads():
for download in _active_downloads:
- download._cancelable.cancel(NS_ERROR_FAILURE)
- if download._dl_jobject is not None:
- download._datastore_deleted_handler.remove()
- datastore.delete(download._dl_jobject.object_id)
- download._cleanup_datastore_write()
+ download.cancelable.cancel(NS_ERROR_FAILURE)
+ if download.dl_jobject is not None:
+ download.datastore_deleted_handler.remove()
+ datastore.delete(download.dl_jobject.object_id)
+ download.cleanup_datastore_write()
class DownloadManager:
_com_interfaces_ = interfaces.nsIHelperAppLauncherDialog
@@ -87,7 +86,8 @@ class DownloadManager:
if not default_file:
default_file = time.time()
if suggested_file_extension:
- default_file = '%s.%s' % (default_file, suggested_file_extension)
+ default_file = '%s.%s' % (default_file,
+ suggested_file_extension)
global _temp_path
if not os.path.exists(_temp_path):
@@ -117,9 +117,10 @@ class Download:
self._mime_type = mime_info.MIMEType
self._temp_file = temp_file
self._target_file = target.queryInterface(interfaces.nsIFileURL).file
- self._cancelable = cancelable
-
- self._dl_jobject = None
+ self.cancelable = cancelable
+ self.datastore_deleted_handler = None
+
+ self.dl_jobject = None
self._object_id = None
self._last_update_time = 0
self._last_update_percent = 0
@@ -134,11 +135,11 @@ class Download:
def onStateChange(self, web_progress, request, state_flags, status):
if state_flags & interfaces.nsIWebProgressListener.STATE_START:
self._create_journal_object()
- self._object_id = self._dl_jobject.object_id
+ self._object_id = self.dl_jobject.object_id
alert = TimeoutAlert(9)
alert.props.title = _('Download started')
- path, file_name = os.path.split(self._target_file.path)
+ path_, file_name = os.path.split(self._target_file.path)
alert.props.msg = _('%s'%(file_name))
_activity.add_alert(alert)
alert.connect('response', self.__start_response_cb)
@@ -152,10 +153,11 @@ class Download:
self._stop_alert = Alert()
self._stop_alert.props.title = _('Download completed')
- path, file_name = os.path.split(self._target_file.path)
+ path_, file_name = os.path.split(self._target_file.path)
self._stop_alert.props.msg = _('%s'%(file_name))
open_icon = Icon(icon_name='zoom-activity')
- self._stop_alert.add_button(gtk.RESPONSE_APPLY, _('Show in Journal'), open_icon)
+ self._stop_alert.add_button(gtk.RESPONSE_APPLY,
+ _('Show in Journal'), open_icon)
open_icon.show()
ok_icon = Icon(icon_name='dialog-ok')
self._stop_alert.add_button(gtk.RESPONSE_OK, _('Ok'), ok_icon)
@@ -164,16 +166,16 @@ class Download:
self._stop_alert.connect('response', self.__stop_response_cb)
self._stop_alert.show()
- self._dl_jobject.metadata['title'] = _('File %s from %s.') % \
+ self.dl_jobject.metadata['title'] = _('File %s from %s.') % \
(file_name, self._source.spec)
- self._dl_jobject.metadata['progress'] = '100'
- self._dl_jobject.file_path = self._target_file.path
+ self.dl_jobject.metadata['progress'] = '100'
+ self.dl_jobject.file_path = self._target_file.path
if self._mime_type == 'application/octet-stream':
sniffed_mime_type = mime.get_for_file(self._target_file.path)
- self._dl_jobject.metadata['mime_type'] = sniffed_mime_type
+ self.dl_jobject.metadata['mime_type'] = sniffed_mime_type
- datastore.write(self._dl_jobject,
+ datastore.write(self.dl_jobject,
transfer_ownership=True,
reply_handler=self._internal_save_cb,
error_handler=self._internal_save_error_cb,
@@ -183,14 +185,14 @@ class Download:
global _active_downloads
if response_id is gtk.RESPONSE_CANCEL:
logging.debug('Download Canceled')
- self._cancelable.cancel(NS_ERROR_FAILURE)
+ self.cancelable.cancel(NS_ERROR_FAILURE)
try:
- self._datastore_deleted_handler.remove()
+ self.datastore_deleted_handler.remove()
datastore.delete(self._object_id)
- except:
- logging.warning('Object has been deleted already')
- if self._dl_jobject is not None:
- self._cleanup_datastore_write()
+ except Exception, e:
+ logging.warning('Object has been deleted already %s' % e)
+ if self.dl_jobject is not None:
+ self.cleanup_datastore_write()
if self._stop_alert is not None:
_activity.remove_alert(self._stop_alert)
@@ -203,26 +205,26 @@ class Download:
activity.show_object_in_journal(self._object_id)
_activity.remove_alert(alert)
- def _cleanup_datastore_write(self):
+ def cleanup_datastore_write(self):
global _active_downloads
_active_downloads.remove(self)
- if os.path.isfile(self._dl_jobject.file_path):
- os.remove(self._dl_jobject.file_path)
- self._dl_jobject.destroy()
- self._dl_jobject = None
+ if os.path.isfile(self.dl_jobject.file_path):
+ os.remove(self.dl_jobject.file_path)
+ self.dl_jobject.destroy()
+ self.dl_jobject = None
def _internal_save_cb(self):
- self._cleanup_datastore_write()
+ self.cleanup_datastore_write()
def _internal_save_error_cb(self, err):
logging.debug("Error saving activity object to datastore: %s" % err)
- self._cleanup_datastore_write()
+ self.cleanup_datastore_write()
def onProgressChange64(self, web_progress, request, cur_self_progress,
max_self_progress, cur_total_progress,
max_total_progress):
- path, file_name = os.path.split(self._target_file.path)
+ path_, file_name = os.path.split(self._target_file.path)
percent = (cur_self_progress * 100) / max_self_progress
if (time.time() - self._last_update_time) < _MIN_TIME_UPDATE and \
@@ -233,36 +235,38 @@ class Download:
self._last_update_percent = percent
if percent < 100:
- self._dl_jobject.metadata['progress'] = str(percent)
- datastore.write(self._dl_jobject)
+ self.dl_jobject.metadata['progress'] = str(percent)
+ datastore.write(self.dl_jobject)
def _create_journal_object(self):
- path, file_name = os.path.split(self._target_file.path)
+ path_, file_name = os.path.split(self._target_file.path)
- self._dl_jobject = datastore.create()
- self._dl_jobject.metadata['title'] = _('Downloading %s from \n%s.') \
+ self.dl_jobject = datastore.create()
+ self.dl_jobject.metadata['title'] = _('Downloading %s from \n%s.') \
%(file_name, self._source.spec)
- self._dl_jobject.metadata['progress'] = '0'
- self._dl_jobject.metadata['keep'] = '0'
- self._dl_jobject.metadata['buddies'] = ''
- self._dl_jobject.metadata['preview'] = ''
- self._dl_jobject.metadata['icon-color'] = profile.get_color().to_string()
- self._dl_jobject.metadata['mime_type'] = self._mime_type
- self._dl_jobject.file_path = ''
- datastore.write(self._dl_jobject)
+ self.dl_jobject.metadata['progress'] = '0'
+ self.dl_jobject.metadata['keep'] = '0'
+ self.dl_jobject.metadata['buddies'] = ''
+ self.dl_jobject.metadata['preview'] = ''
+ self.dl_jobject.metadata['icon-color'] = \
+ profile.get_color().to_string()
+ self.dl_jobject.metadata['mime_type'] = self._mime_type
+ self.dl_jobject.file_path = ''
+ datastore.write(self.dl_jobject)
bus = dbus.SessionBus()
obj = bus.get_object(DS_DBUS_SERVICE, DS_DBUS_PATH)
datastore_dbus = dbus.Interface(obj, DS_DBUS_INTERFACE)
- self._datastore_deleted_handler = datastore_dbus.connect_to_signal(
+ self.datastore_deleted_handler = datastore_dbus.connect_to_signal(
'Deleted', self.__datastore_deleted_cb,
- arg0=self._dl_jobject.object_id)
+ arg0=self.dl_jobject.object_id)
def __datastore_deleted_cb(self, uid):
- logging.debug('Downloaded entry has been deleted from the datastore: %r' % uid)
+ logging.debug('Downloaded entry has been deleted from the datastore: %r'
+ % uid)
# TODO: Use NS_BINDING_ABORTED instead of NS_ERROR_FAILURE.
- self._cancelable.cancel(NS_ERROR_FAILURE) #NS_BINDING_ABORTED)
+ self.cancelable.cancel(NS_ERROR_FAILURE) #NS_BINDING_ABORTED)
global _active_downloads
_active_downloads.remove(self)
diff --git a/filepicker.py b/filepicker.py
index 5b24c7c..0b7cb59 100644
--- a/filepicker.py
+++ b/filepicker.py
@@ -72,7 +72,8 @@ class FilePicker:
try:
result = chooser.run()
if result == gtk.RESPONSE_ACCEPT:
- logging.debug('FilePicker.show: %r' % chooser.get_selected_object())
+ logging.debug('FilePicker.show: %r' %
+ chooser.get_selected_object())
jobject = chooser.get_selected_object()
if jobject and jobject.file_path:
ext = os.path.splitext(jobject.file_path)[1]
diff --git a/linkbutton.py b/linkbutton.py
index b1c8c8d..6ec6480 100644
--- a/linkbutton.py
+++ b/linkbutton.py
@@ -22,11 +22,9 @@ from gettext import gettext as _
import rsvg
import re
import gc
-import pango
from sugar.graphics.palette import Palette
from sugar.graphics.tray import TrayButton
-from sugar.graphics.icon import Icon
from sugar.graphics import style
@@ -36,18 +34,18 @@ class LinkButton(TrayButton, gobject.GObject):
'remove_link': (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE, ([str]))
}
- def __init__(self, url, buffer, color, title, owner, index, hash):
+ def __init__(self, url, buf, color, title, owner, index, hash):
TrayButton.__init__(self)
- self.set_image(buffer, color.split(',')[1], color.split(',')[0])
+ self.set_image(buf, color.split(',')[1], color.split(',')[0])
self.hash = hash
info = title +'\n'+ owner
self.setup_rollover_options(info)
- def set_image(self, buffer, fill='#0000ff', stroke='#4d4c4f'):
+ def set_image(self, buf, fill='#0000ff', stroke='#4d4c4f'):
img = gtk.Image()
loader = gtk.gdk.PixbufLoader()
- loader.write(buffer)
+ loader.write(buf)
loader.close()
pixbuf = loader.get_pixbuf()
del loader
diff --git a/messenger.py b/messenger.py
index 92e2869..29867e5 100644
--- a/messenger.py
+++ b/messenger.py
@@ -17,7 +17,6 @@
#
import logging
-import os
import dbus
from dbus.gobject_service import ExportedGObject
import base64
@@ -36,6 +35,7 @@ class Messenger(ExportedGObject):
self.members = []
self.entered = False
self.model = model
+ self.bus_name = None
self.tube.watch_participants(self.participant_change_cb)
def participant_change_cb(self, added, removed):
@@ -51,8 +51,7 @@ class Messenger(ExportedGObject):
try:
self.members.remove(self.tube.participants[handle])
except ValueError:
- # already absent
- pass
+ _logger.debug('Remove member %r - already absent', handle)
if not self.entered:
self.tube.add_signal_receiver(self._add_link_receiver, '_add_link',
@@ -80,9 +79,9 @@ class Messenger(ExportedGObject):
a_ids.pop()
for link in self.model.data['shared_links']:
if link['hash'] not in a_ids:
- self.tube.get_object(sender, PATH).send_link(
- link['hash'], link['url'], link['title'], link['color'],
- link['owner'], link['thumb'], link['timestamp'])
+ self.tube.get_object(sender, PATH).send_link(
+ link['hash'], link['url'], link['title'], link['color'],
+ link['owner'], link['thumb'], link['timestamp'])
def error_sync(self, e, when):
_logger.error('Error %s: %s'%(when, e))
@@ -95,20 +94,21 @@ class Messenger(ExportedGObject):
# links the caller wants from me
for link in self.model.data['shared_links']:
if link['hash'] not in b_ids:
- self.tube.get_object(sender, PATH).send_link(
- link['hash'], link['url'], link['title'], link['color'],
- link['owner'], link['thumb'], link['timestamp'])
+ self.tube.get_object(sender, PATH).send_link(
+ link['hash'], link['url'], link['title'], link['color'],
+ link['owner'], link['thumb'], link['timestamp'])
a_ids = self.model.get_links_ids()
a_ids.append('')
# links I want from the caller
return (a_ids, self.bus_name)
- @dbus.service.method(dbus_interface=IFACE, in_signature='ssssssd', out_signature='')
- def send_link(self, id, url, title, color, owner, buffer, timestamp):
+ @dbus.service.method(dbus_interface=IFACE, in_signature='ssssssd',
+ out_signature='')
+ def send_link(self, identifier, url, title, color, owner, buf, timestamp):
'''Send link'''
a_ids = self.model.get_links_ids()
- if id not in a_ids:
- thumb = base64.b64decode(buffer)
+ if identifier not in a_ids:
+ thumb = base64.b64decode(buf)
self.model.add_link(url, title, thumb, owner, color, timestamp)
@dbus.service.signal(IFACE, signature='sssssd')
@@ -116,11 +116,12 @@ class Messenger(ExportedGObject):
'''Signal to send the link information (add)'''
_logger.debug('Add Link: %s '%url)
- def _add_link_receiver(self, url, title, color, owner, buffer, timestamp, sender=None):
+ def _add_link_receiver(self, url, title, color, owner, buf, timestamp,
+ sender=None):
'''Member sent a link'''
handle = self.tube.bus_name_to_handle[sender]
if self.tube.self_handle != handle:
- thumb = base64.b64decode(buffer)
- self.model.add_link(url, title, thumb, owner, color, timestamp)
+ thumb = base64.b64decode(buf)
+ self.model.add_link(url, title, thumb, owner, color, timestamp)
_logger.debug('Added link: %s to linkbar.'%(url))
diff --git a/model.py b/model.py
index ae2d505..2bad449 100644
--- a/model.py
+++ b/model.py
@@ -16,7 +16,6 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
-import os
import json
import sha
import gobject
@@ -48,8 +47,9 @@ class Model(gobject.GObject):
{'hash':sha.new(str(url)).hexdigest(),
'url':str(url), 'title':str(title),
'thumb':base64.b64encode(thumb),
- 'owner':str(owner), 'color':str(color),
- 'timestamp':float(timestamp)} )
+ 'owner':str(owner),
+ 'color':str(color),
+ 'timestamp':float(timestamp)})
self.emit('add_link', index)
def remove_link(self, hash):
diff --git a/progresslistener.py b/progresslistener.py
index 86a6452..3a3a049 100644
--- a/progresslistener.py
+++ b/progresslistener.py
@@ -36,7 +36,11 @@ class ProgressListener(gobject.GObject):
def __init__(self, browser):
gobject.GObject.__init__(self)
- self._wrapped_self = xpcom.server.WrapObject(self, interfaces.nsIWebProgressListener)
+ self.total_requests = 0
+ self.completed_requests = 0
+
+ self._wrapped_self = xpcom.server.WrapObject( \
+ self, interfaces.nsIWebProgressListener)
weak_ref = xpcom.client.WeakReference(self._wrapped_self)
mask = interfaces.nsIWebProgress.NOTIFY_STATE_NETWORK | \
diff --git a/promptservice.py b/promptservice.py
index ca7cf37..24e5f18 100644
--- a/promptservice.py
+++ b/promptservice.py
@@ -54,10 +54,11 @@ class PromptService:
logging.debug('nsIPromptService.promptPassword()')
def promptUsernameAndPassword(self, parent, dialogTitle, text, username,
- password, checkMsg, checkState):
+ password, checkMsg, checkState):
logging.debug('nsIPromptService.promptUsernameAndPassword()')
- def select(self, parent, dialogTitle, text, count, selectList, outSelection):
+ def select(self, parent, dialogTitle, text, count, selectList,
+ outSelection):
logging.debug('nsIPromptService.select()')
diff --git a/sessionhistory.py b/sessionhistory.py
index f64a3fb..3f781bf 100644
--- a/sessionhistory.py
+++ b/sessionhistory.py
@@ -24,7 +24,8 @@ class HistoryListener(gobject.GObject):
_com_interfaces_ = interfaces.nsISHistoryListener
__gsignals__ = {
- 'session-history-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
+ 'session-history-changed': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
([int])),
'session-link-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
([str]))
@@ -33,7 +34,8 @@ class HistoryListener(gobject.GObject):
def __init__(self, browser):
gobject.GObject.__init__(self)
- self._wrapped_self = xpcom.server.WrapObject(self, interfaces.nsISHistoryListener)
+ self._wrapped_self = xpcom.server.WrapObject( \
+ self, interfaces.nsISHistoryListener)
weak_ref = xpcom.client.WeakReference(self._wrapped_self)
self._session_history = browser.web_navigation.sessionHistory
diff --git a/sessionstore.py b/sessionstore.py
index 2b96ea0..d4ed3b2 100644
--- a/sessionstore.py
+++ b/sessionstore.py
@@ -50,20 +50,22 @@ def _get_history(history):
return entries_dest
def _set_history(history, history_data):
- history_internal = history.queryInterface(interfaces.nsISHistoryInternal);
+ history_internal = history.queryInterface(interfaces.nsISHistoryInternal)
if history_internal.count > 0:
- history_internal.purgeHistory(history_internal.count);
+ history_internal.purgeHistory(history_internal.count)
for entry_dict in history_data:
logging.debug('entry_dict: %r' % entry_dict)
- entry_class = components.classes["@mozilla.org/browser/session-history-entry;1"]
+ entry_class = components.classes[ \
+ "@mozilla.org/browser/session-history-entry;1"]
entry = entry_class.createInstance(interfaces.nsISHEntry)
- io_service_class = components.classes["@mozilla.org/network/io-service;1"]
+ io_service_class = components.classes[ \
+ "@mozilla.org/network/io-service;1"]
io_service = io_service_class.getService(interfaces.nsIIOService)
- entry.setURI(io_service.newURI(entry_dict['url'], None, None));
- entry.setTitle(entry_dict['title']);
+ entry.setURI(io_service.newURI(entry_dict['url'], None, None))
+ entry.setTitle(entry_dict['title'])
history_internal.addEntry(entry, True)
diff --git a/webactivity.py b/webactivity.py
index 2d2a602..d22f0f1 100755
--- a/webactivity.py
+++ b/webactivity.py
@@ -120,7 +120,8 @@ class WebActivity(activity.Activity):
self._browser.show()
self.session_history = sessionhistory.get_instance()
- self.session_history.connect('session-link-changed', self._session_history_changed_cb)
+ self.session_history.connect('session-link-changed',
+ self._session_history_changed_cb)
self.toolbar.connect('add-link', self._link_add_button_cb)
self._browser.connect("notify::title", self._title_changed_cb)
@@ -168,21 +169,21 @@ class WebActivity(activity.Activity):
else:
_logger.debug('Created activity')
- def _shared_cb(self, activity):
+ def _shared_cb(self, activity_):
_logger.debug('My activity was shared')
self.initiating = True
self._setup()
_logger.debug('This is my activity: making a tube...')
- id = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferDBusTube(
- SERVICE, {})
+ self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferDBusTube(SERVICE, {})
def _setup(self):
if self._shared_activity is None:
_logger.debug('Failed to share or join activity')
return
- bus_name, conn_path, channel_paths = self._shared_activity.get_channels()
+ bus_name, conn_path, channel_paths = \
+ self._shared_activity.get_channels()
# Work out what our room is called and whether we have Tubes already
room = None
@@ -213,14 +214,15 @@ class WebActivity(activity.Activity):
# Make sure we have a Tubes channel - PS doesn't yet provide one
if tubes_chan is None:
_logger.debug("Didn't find our Tubes channel, requesting one...")
- tubes_chan = self.conn.request_channel(telepathy.CHANNEL_TYPE_TUBES,
- telepathy.HANDLE_TYPE_ROOM, room, True)
+ tubes_chan = self.conn.request_channel(telepathy.CHANNEL_TYPE_TUBES,
+ telepathy.HANDLE_TYPE_ROOM,
+ room, True)
self.tubes_chan = tubes_chan
self.text_chan = text_chan
- tubes_chan[telepathy.CHANNEL_TYPE_TUBES].connect_to_signal('NewTube',
- self._new_tube_cb)
+ tubes_chan[telepathy.CHANNEL_TYPE_TUBES].connect_to_signal( \
+ 'NewTube', self._new_tube_cb)
def _list_tubes_reply_cb(self, tubes):
for tube_info in tubes:
@@ -229,7 +231,7 @@ class WebActivity(activity.Activity):
def _list_tubes_error_cb(self, e):
_logger.debug('ListTubes() failed: %s'%e)
- def _joined_cb(self, activity):
+ def _joined_cb(self, activity_):
if not self._shared_activity:
return
@@ -243,22 +245,25 @@ class WebActivity(activity.Activity):
reply_handler=self._list_tubes_reply_cb,
error_handler=self._list_tubes_error_cb)
- def _new_tube_cb(self, id, initiator, type, service, params, state):
+ def _new_tube_cb(self, identifier, initiator, type, service, params, state):
_logger.debug('New tube: ID=%d initator=%d type=%d service=%s '
- 'params=%r state=%d' %(id, initiator, type, service,
- params, state))
+ 'params=%r state=%d' %(identifier, initiator, type,
+ service, params, state))
if (type == telepathy.TUBE_TYPE_DBUS and
service == SERVICE):
if state == telepathy.TUBE_STATE_LOCAL_PENDING:
- self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].AcceptDBusTube(id)
+ self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].AcceptDBusTube(
+ identifier)
self.tube_conn = TubeConnection(self.conn,
self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES],
- id, group_iface=self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP])
+ identifier, group_iface = self.text_chan[
+ telepathy.CHANNEL_INTERFACE_GROUP])
_logger.debug('Tube created')
- self.messenger = Messenger(self.tube_conn, self.initiating, self.model)
+ self.messenger = Messenger(self.tube_conn, self.initiating,
+ self.model)
def _load_homepage(self):
@@ -296,7 +301,7 @@ class WebActivity(activity.Activity):
self._add_link_totray(link['url'],
base64.b64decode(link['thumb']),
link['color'], link['title'],
- link['owner'], -1, link['hash'])
+ link['owner'], -1, link['hash'])
self._browser.set_session(self.model.data['history'])
elif self.metadata['mime_type'] == 'text/uri-list':
data = self._get_data_from_file_path(file_path)
@@ -333,7 +338,7 @@ class WebActivity(activity.Activity):
def _key_press_cb(self, widget, event):
if event.state & gtk.gdk.CONTROL_MASK:
if gtk.gdk.keyval_name(event.keyval) == "l":
- _logger.debug('keyboard: Add link: %s.' % self.current)
+ _logger.debug('keyboard: Add link: %s.' % self.current)
self._add_link()
return True
elif gtk.gdk.keyval_name(event.keyval) == "u":
@@ -362,17 +367,17 @@ class WebActivity(activity.Activity):
_logger.debug('_add_link: link exist already a=%s b=%s' %(
link['hash'], sha.new(self.current).hexdigest()))
return
- buffer = self._get_screenshot()
+ buf = self._get_screenshot()
timestamp = time.time()
- self.model.add_link(self.current, self.webtitle, buffer,
+ self.model.add_link(self.current, self.webtitle, buf,
profile.get_nick_name(),
profile.get_color().to_string(), timestamp)
if self.messenger is not None:
- self.messenger._add_link(self.current, self.webtitle,
+ self.messenger._add_link(self.current, self.webtitle,
profile.get_color().to_string(),
profile.get_nick_name(),
- base64.b64encode(buffer), timestamp)
+ base64.b64encode(buf), timestamp)
def _add_link_model_cb(self, model, index):
''' receive index of new link from the model '''
@@ -381,9 +386,9 @@ class WebActivity(activity.Activity):
link['color'], link['title'],
link['owner'], index, link['hash'])
- def _add_link_totray(self, url, buffer, color, title, owner, index, hash):
+ def _add_link_totray(self, url, buf, color, title, owner, index, hash):
''' add a link to the tray '''
- item = LinkButton(url, buffer, color, title, owner, index, hash)
+ item = LinkButton(url, buf, color, title, owner, index, hash)
item.connect('clicked', self._link_clicked_cb, url)
item.connect('remove_link', self._link_removed_cb)
self._tray.add_item(item, index) # use index to add to the tray
@@ -429,8 +434,8 @@ class WebActivity(activity.Activity):
style.zoom(80),
gtk.gdk.INTERP_BILINEAR)
- buffer = self.get_buffer(screenshot)
- return buffer
+ buf = self.get_buffer(screenshot)
+ return buf
def can_close(self):
if downloadmanager.can_quit():
diff --git a/webtoolbar.py b/webtoolbar.py
index 7a8bec5..8987a37 100755
--- a/webtoolbar.py
+++ b/webtoolbar.py
@@ -15,8 +15,6 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-import os
-import logging
from gettext import gettext as _
import gobject
@@ -27,7 +25,6 @@ from xpcom import components
from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.menuitem import MenuItem
from sugar._sugarext import AddressEntry
-import pango
import sessionhistory
import progresslistener
@@ -48,6 +45,8 @@ class WebToolbar(gtk.Toolbar):
gtk.Toolbar.__init__(self)
self._browser = browser
+
+ self._loading = False
self._back = ToolButton('go-previous-paired')
self._back.set_tooltip(_('Back'))
@@ -86,13 +85,16 @@ class WebToolbar(gtk.Toolbar):
self._link_add.show()
progress_listener = progresslistener.get_instance()
- progress_listener.connect('location-changed', self._location_changed_cb)
+ progress_listener.connect('location-changed',
+ self._location_changed_cb)
progress_listener.connect('loading-start', self._loading_start_cb)
progress_listener.connect('loading-stop', self._loading_stop_cb)
- progress_listener.connect('loading-progress', self._loading_progress_cb)
+ progress_listener.connect('loading-progress',
+ self._loading_progress_cb)
session_history = sessionhistory.get_instance()
- session_history.connect('session-history-changed', self._session_history_changed_cb)
+ session_history.connect('session-history-changed',
+ self._session_history_changed_cb)
self._browser.connect("notify::title", self._title_changed_cb)
@@ -158,7 +160,8 @@ class WebToolbar(gtk.Toolbar):
def _stop_and_reload_cb(self, button):
if self._loading:
- self._browser.web_navigation.stop(interfaces.nsIWebNavigation.STOP_ALL)
+ self._browser.web_navigation.stop( \
+ interfaces.nsIWebNavigation.STOP_ALL)
else:
flags = interfaces.nsIWebNavigation.LOAD_FLAGS_NONE
self._browser.web_navigation.reload(flags)
@@ -174,6 +177,7 @@ class WebToolbar(gtk.Toolbar):
self._stop_and_reload.set_tooltip(_('Reload'))
def _reload_session_history(self, current_page_index=None):
+ session_history = self._browser.web_navigation.sessionHistory
if current_page_index is None:
current_page_index = session_history.index
@@ -181,7 +185,6 @@ class WebToolbar(gtk.Toolbar):
for menu_item in palette.menu.get_children():
palette.menu.remove(menu_item)
- session_history = self._browser.web_navigation.sessionHistory
if current_page_index > _MAX_HISTORY_ENTRIES:
bottom = current_page_index - _MAX_HISTORY_ENTRIES
else: