def __init__(self, recent_infos, **args): deskbar.interfaces.Match.__init__( self, pixbuf=recent_infos.get_icon(deskbar.ICON_HEIGHT), name=recent_infos.get_display_name(), **args ) self.recent_infos = recent_infos self.add_action(OpenRecentAction(self.get_name(), self.recent_infos.get_uri())) self.add_all_actions(get_actions_for_uri(self.recent_infos.get_uri(), display_name=self.get_name()))
def __init__(self, name=None, path=None, **args): deskbar.interfaces.Match.__init__(self, icon="gtk-open", name=name, category="places", **args) self.path = path self.add_action(OpenWithCajaAction(name, path)) self.add_all_actions(get_actions_for_uri(path))
def __init__(self, name=None, absname=None, **args): deskbar.interfaces.Match.__init__(self, name=name, icon=absname, category="places", **args) self.absname = absname self.add_action(ShowUrlAction(name, absname)) self.add_all_actions(get_actions_for_uri(absname))
def __init__(self, recent_infos, **args): deskbar.interfaces.Match.__init__(self, pixbuf=recent_infos.get_icon( deskbar.ICON_HEIGHT), name=recent_infos.get_display_name(), **args) self.recent_infos = recent_infos self.add_action( OpenRecentAction(self.get_name(), self.recent_infos.get_uri())) self.add_all_actions( get_actions_for_uri(self.recent_infos.get_uri(), display_name=self.get_name()))
def __init__(self, fields, **args): deskbar.interfaces.Match.__init__ (self) self.result = fields self.url = fields["url"] url_scheme = self.url[:self.url.index("://")] # The mailbox scheme is specific to Pinot if url_scheme == "mailbox": mailbox_url = self.url print "Mailbox hit: ", mailbox_url self.url = "file://" + mailbox_url[len("mailbox://"):mailbox_url.index('?')] url_scheme = "file" self.result["url"] = self.url print "Action: ", self.result["caption"], " ", self.result["url"] if url_scheme == "file": print "File hit" self.add_action(OpenFileAction(self.result["caption"], self.result["url"])) else: print "Other hit" self.add_all_actions(get_actions_for_uri(self.result["url"]))
def __init__(self, fields, **args): deskbar.interfaces.Match.__init__ (self) self.result = fields if fields.has_key("url"): self.url = fields["url"] url_scheme = self.url[:self.url.index("://")] # The mailbox scheme is specific to Pinot if url_scheme == "mailbox": mailbox_url = self.url print 'Mailbox hit: ', mailbox_url self.url = "file://" + mailbox_url[len("mailbox://"):mailbox_url.index('?')] url_scheme = "file" self.result["url"] = self.url print 'Action: ', self.result["caption"], " ", self.result["url"] # Snippet self.result["snippet"] = "" if fields.has_key("extract"): snippet = fields["extract"] if snippet != None and snippet != "": # Remove trailing whitespaces and escape '%' snippet.strip().replace("%", "%%") # Escape tmp = re.sub(r"<.*?>", "", snippet) tmp = re.sub(r"</.*?>", "", tmp) print 'Extract ', tmp try: self.set_snippet("\n%s" % cgi.escape(tmp)) except AttributeError: print 'Snippets not available' if url_scheme == "file": print 'File hit' self.add_action(OpenFileAction(self.result["caption"], self.result["url"])) else: print 'Other hit' self.add_all_actions(get_actions_for_uri(self.result["url"]))
def __init__(self, result=None, **args): """ result: a dict containing: "name" : a name sensible to display for this match "uri": the uri of the match as provided by the beagled 'Uri: '-field "type": A L{BeagleType} sub-class -- and optionally extra fields as provided by the corresponding entry in L{BeagleType.get_extra_properties}. """ deskbar.interfaces.Match.__init__ (self, name=result["name"], **args) self.result = result if not isinstance(result["type"], BeagleType): raise TypeError("Expected BeagleType but got %r" % result["type"]) if isinstance(result["type"], ContactType): self.add_action( OpenContactAction(result["name"], result["uri"]) ) elif isinstance(result["type"], MailMessageType): if result["client"] == "thunderbird": action = OpenThunderbirdMailMessageAction(result["name"], result["thunderbird-uri"]) elif result["client"] == "evolution": action = OpenMailMessageAction(result["name"], result["uri"]) else: LOGGER.warning("Unknown/Unsupported e-mail client %s", result["client"]) return self.add_action( action ) self.set_snippet( _("From <i>%s</i>") % result["sender"] ) elif isinstance(result["type"], FeedItemType): self.add_action( OpenFeedAction(result["name"], result["identifier"]) ) self.set_snippet( _("From <i>%s</i>") % result["publisher"] ) elif isinstance(result["type"], NoteType): self.add_action( OpenNoteAction(result["name"], result["uri"]) ) elif isinstance(result["type"], IMLogType): self.add_action( OpenIMLogAction(result["name"], result["uri"], result["client"]) ) elif isinstance(result["type"], CalendarType): self.add_action( OpenCalendarAction(result["name"], result["uri"]) ) elif isinstance(result["type"], WebHistoryType): self.add_action( OpenWebHistoryAction(result["name"], result["uri"], result["escaped_uri"]) ) elif isinstance(result["type"], FileType): # For files inside archives only work with the archive itsself result["escaped_uri"] = result["escaped_uri"].split('#')[0] # Unescape URI again unescaped_uri = gio.File(uri=result["escaped_uri"]).get_parse_name() if not result.has_key("inside_archive"): result["inside_archive"] = "false" if result["inside_archive"] == "true": file_open_action = OpenBeagleFileAction(result["name"], result["uri"], result["inside_archive"], result["parent_file"]) else: file_open_action = OpenBeagleFileAction(result["name"], result["uri"], result["inside_archive"], None) self.add_action(file_open_action, True) actions = get_actions_for_uri(unescaped_uri, display_name=basename(unescaped_uri)) self.add_all_actions(actions) # Load the correct icon # # There is bug http://bugzilla.gnome.org/show_bug.cgi?id=319549 # which has been fixed and comitted, so we re-enable this snippet # if result["type"] == "File": try: self.set_icon( result["uri"] ) except Exception: pass if "snippet" in result and result["snippet"]: self.set_snippet (result["snippet"])
def __init__(self, name=None, path=None, **args): deskbar.interfaces.Match.__init__(self, icon="gtk-open", name=name, category="places", **args) self.path = path self.add_action( OpenWithCajaAction(name, path) ) self.add_all_actions( get_actions_for_uri(path) )
def __init__(self, name=None, absname=None, **args): deskbar.interfaces.Match.__init__(self, name=name, icon=absname, category="places", **args) self.absname = absname self.add_action( ShowUrlAction(name, absname) ) self.add_all_actions( get_actions_for_uri(absname) )
def __init__(self, result=None, **args): """ result: a dict containing: "name" : a name sensible to display for this match "uri": the uri of the match as provided by the beagled 'Uri: '-field "type": A L{BeagleType} sub-class -- and optionally extra fields as provided by the corresponding entry in L{BeagleType.get_extra_properties}. """ deskbar.interfaces.Match.__init__(self, name=result["name"], **args) self.result = result if not isinstance(result["type"], BeagleType): raise TypeError("Expected BeagleType but got %r" % result["type"]) if isinstance(result["type"], ContactType): self.add_action(OpenContactAction(result["name"], result["uri"])) elif isinstance(result["type"], MailMessageType): if result["client"] == "thunderbird": action = OpenThunderbirdMailMessageAction( result["name"], result["thunderbird-uri"]) elif result["client"] == "evolution": action = OpenMailMessageAction(result["name"], result["uri"]) else: LOGGER.warning("Unknown/Unsupported e-mail client %s", result["client"]) return self.add_action(action) self.set_snippet(_("From <i>%s</i>") % result["sender"]) elif isinstance(result["type"], FeedItemType): self.add_action( OpenFeedAction(result["name"], result["identifier"])) self.set_snippet(_("From <i>%s</i>") % result["publisher"]) elif isinstance(result["type"], NoteType): self.add_action(OpenNoteAction(result["name"], result["uri"])) elif isinstance(result["type"], IMLogType): self.add_action( OpenIMLogAction(result["name"], result["uri"], result["client"])) elif isinstance(result["type"], CalendarType): self.add_action(OpenCalendarAction(result["name"], result["uri"])) elif isinstance(result["type"], WebHistoryType): self.add_action( OpenWebHistoryAction(result["name"], result["uri"], result["escaped_uri"])) elif isinstance(result["type"], FileType): # For files inside archives only work with the archive itsself result["escaped_uri"] = result["escaped_uri"].split('#')[0] # Unescape URI again unescaped_uri = gio.File( uri=result["escaped_uri"]).get_parse_name() if not result.has_key("inside_archive"): result["inside_archive"] = "false" if result["inside_archive"] == "true": file_open_action = OpenBeagleFileAction( result["name"], result["uri"], result["inside_archive"], result["parent_file"]) else: file_open_action = OpenBeagleFileAction( result["name"], result["uri"], result["inside_archive"], None) self.add_action(file_open_action, True) actions = get_actions_for_uri(unescaped_uri, display_name=basename(unescaped_uri)) self.add_all_actions(actions) # Load the correct icon # # There is bug http://bugzilla.gnome.org/show_bug.cgi?id=319549 # which has been fixed and comitted, so we re-enable this snippet # if result["type"] == "File": try: self.set_icon(result["uri"]) except Exception: pass if "snippet" in result and result["snippet"]: self.set_snippet(result["snippet"])