Ejemplo n.º 1
0
 def __init__(self):
     Source.__init__(self, _("Favorites"))
     ## these are default favorites for new users
     self.references = [
             '<kupfer.plugin.core.contents.Help>',
             '<kupfer.plugin.core.contents.Preferences>',
         ]
Ejemplo n.º 2
0
    def __init__(self):
        self.connections = []
        self.active_ids = []

        # dont query connection - state in short intervals < 10 secs
        self.last_update_con_state = 0
        self.max_age_con_state_secs = 10

        # available connections don't change often
        self.last_update_connections = 0
        self.max_age_connections_secs = 120

        Source.__init__(self, _("VPN - Connections"))
Ejemplo n.º 3
0
	def get_leaves(self, force_update=False):
		starttime = time.time()
		# map (slot, value) -> group
		groups = {}
		non_group_leaves = []
		for src in self.sources:
			leaves = Source.get_leaves(src, force_update)
			for leaf in leaves:
				try:
					slots = leaf.slots()
				except AttributeError:
					# Let through Non-grouping leaves
					non_group_leaves.append(leaf)
					continue
				slots = leaf.slots()
				for slot in leaf.grouping_slots:
					value = slots.get(slot)
					if value:
						groups.setdefault((slot, value), set()).add(leaf)
				if not leaf.grouping_slots:
					self.output_error("GroupingLeaf has no grouping slots",
							repr(leaf))

		# Keep track of keys that are only duplicate references
		redundant_keys = set()

		def merge_groups(key1, key2):
			if groups[key1] is groups[key2]:
				return
			groups[key1].update(groups[key2])
			groups[key2] = groups[key1]
			redundant_keys.add(key2)

		# Find all (slot, value) combinations that have more than one leaf
		# and merge those groups
		for (slot, value), leaves in groups.iteritems():
			if len(leaves) <= 1:
				continue
			for leaf in list(leaves):
				for slot2 in leaf.grouping_slots:
					for value2 in leaf.all(slot2):
						if not value2:
							continue
						merge_groups((slot, value), (slot2, value2))
		if self.should_sort_lexically():
			sort_func = utils.locale_sort
		else:
			sort_func = lambda x: x

		keys = set(groups)
		keys.difference_update(redundant_keys)
		leaves = sort_func(self._make_group_leader(groups[K]) for K in keys)
		mergetime = time.time() - starttime
		if mergetime > 0.05:
			self.output_debug("Warning(?): merged in %s seconds" % mergetime)
		return itertools.chain(non_group_leaves, leaves)
Ejemplo n.º 4
0
    def get_leaves(self, force_update=False):
        starttime = time.time()
        # map (slot, value) -> group
        groups = {}
        non_group_leaves = []
        for src in self.sources:
            leaves = Source.get_leaves(src, force_update)
            for leaf in leaves:
                try:
                    slots = leaf.slots()
                except AttributeError:
                    # Let through Non-grouping leaves
                    non_group_leaves.append(leaf)
                    continue
                slots = leaf.slots()
                for slot in leaf.grouping_slots:
                    value = slots.get(slot)
                    if value:
                        groups.setdefault((slot, value), set()).add(leaf)
                if not leaf.grouping_slots:
                    self.output_error("GroupingLeaf has no grouping slots",
                                      repr(leaf))

        # Keep track of keys that are only duplicate references
        redundant_keys = set()

        def merge_groups(key1, key2):
            if groups[key1] is groups[key2]:
                return
            groups[key1].update(groups[key2])
            groups[key2] = groups[key1]
            redundant_keys.add(key2)

        # Find all (slot, value) combinations that have more than one leaf
        # and merge those groups
        for (slot, value), leaves in groups.items():
            if len(leaves) <= 1:
                continue
            for leaf in list(leaves):
                for slot2 in leaf.grouping_slots:
                    for value2 in leaf.all(slot2):
                        if not value2:
                            continue
                        merge_groups((slot, value), (slot2, value2))
        if self.should_sort_lexically():
            sort_func = utils.locale_sort
        else:
            sort_func = lambda x: x

        keys = set(groups)
        keys.difference_update(redundant_keys)
        leaves = sort_func(self._make_group_leader(groups[K]) for K in keys)
        mergetime = time.time() - starttime
        if mergetime > 0.05:
            self.output_debug("Warning(?): merged in %s seconds" % mergetime)
        return itertools.chain(non_group_leaves, leaves)
Ejemplo n.º 5
0
 def __init__(self):
     Source.__init__(self, _("Hamster Activities"))
     self.activities = get_hamster().GetActivities('')
Ejemplo n.º 6
0
 def __init__(self):
     Source.__init__(self, _("Zim Notebooks"))
Ejemplo n.º 7
0
 def __init__(self, query, search_results=None, **search_args):
     Source.__init__(self, name=_('Tracker Search for "%s"') % query)
     self.query = query
     self.search_args = search_args
     self.search_results = None
Ejemplo n.º 8
0
 def __init__(self):
     Source.__init__(self, _("Signals"))
Ejemplo n.º 9
0
 def __init__(self, leaf):
     Source.__init__(self, _("Emails"))
     self.ems = leaf.emails
Ejemplo n.º 10
0
	def repr_key(self):
		# Distinguish when used as GroupingSource
		if type(self) is GroupingSource:
			return unicode(self)
		return Source.repr_key(self)
Ejemplo n.º 11
0
	def __init__(self, query):
		Source.__init__(self, name=_('Results for "%s"') % query)
		self.query = query
		self.max_items = 50
Ejemplo n.º 12
0
 def __init__(self, leaf):
     Source.__init__(self, str(leaf))
     self._leaf = leaf
Ejemplo n.º 13
0
 def repr_key(self):
     # Distinguish when used as GroupingSource
     if type(self) is GroupingSource:
         return str(self)
     return Source.repr_key(self)
Ejemplo n.º 14
0
 def __init__(self):
     Source.__init__(self, _("Recursive Directories"))
Ejemplo n.º 15
0
 def __init__(self):
     Source.__init__(self, _("Command Results"))
Ejemplo n.º 16
0
 def __init__(self):
     Source.__init__(self, _("Internal Kupfer Objects"))
Ejemplo n.º 17
0
	def __init__(self, leaf):
		Source.__init__(self, unicode(leaf))
		self._leaf = leaf
Ejemplo n.º 18
0
 def __init__(self):
     Source.__init__(self, _("Empathy Account Status"))
Ejemplo n.º 19
0
 def __init__(self):
     Source.__init__(self, _("Workspaces"))
     screen = wnck.screen_get_default()
     screen.get_workspaces()
Ejemplo n.º 20
0
	def __init__(self):
		Source.__init__(self, _("Tracker Tags"))
Ejemplo n.º 21
0
 def __init__(self, name, sources):
     Source.__init__(self, name)
     self.sources = sources
Ejemplo n.º 22
0
	def __init__(self):
		Source.__init__(self, _("Languages"))
Ejemplo n.º 23
0
 def __init__(self):
     Source.__init__(self, _("Nemo"))
Ejemplo n.º 24
0
	def __init__(self, name, sources):
		Source.__init__(self, name)
		self.sources = sources
Ejemplo n.º 25
0
	def __init__(self, trash_uri, name):
		Source.__init__(self, name)
		self._trash_uri = trash_uri
Ejemplo n.º 26
0
	def __init__(self):
		Source.__init__(self, _("Kupfer Plugins"))
Ejemplo n.º 27
0
	def __init__(self):
		Source.__init__(self, _("Trash"))
Ejemplo n.º 28
0
 def __init__(self, query):
     Source.__init__(self, _('Results for "%s"') % query)
     self.query = query
Ejemplo n.º 29
0
 def __init__(self, project):
     name = _("Timeline for %s") % project
     Source.__init__(self, name)
     self.project = project
Ejemplo n.º 30
0
	def __init__(self):
		Source.__init__(self, _("MPRIS"))
Ejemplo n.º 31
0
 def __init__(self, fil=None):
     """ All tags for file @fil or all tags known if None"""
     Source.__init__(self, _("Tracker tags"))
     self.for_file = fil
Ejemplo n.º 32
0
 def __init__(self, name=_("Zim Pages")):
     Source.__init__(self, name)
     # path to file with list notebooks
     self._version = 2
Ejemplo n.º 33
0
 def __init__(self):
     Source.__init__(self, _("Tracker Tags"))
Ejemplo n.º 34
0
 def __init__(self):
     Source.__init__(self, _("Hamster"))
Ejemplo n.º 35
0
 def __init__(self, tag):
     Source.__init__(self, _("Tag %s") % tag)
     self.tag = tag
Ejemplo n.º 36
0
	def __init__(self, fil=None):
		""" All tags for file @fil or all tags known if None"""
		Source.__init__(self, _("Tracker tags"))
		self.for_file = fil
Ejemplo n.º 37
0
 def __init__(self, query):
     Source.__init__(self, name=_('Results for "%s"') % query)
     self.query = query
     self.max_items = 50
Ejemplo n.º 38
0
	def __init__(self, tag):
		Source.__init__(self, _("Tag %s") % tag)
		self.tag = tag
Ejemplo n.º 39
0
	def __init__(self):
		return Source.__init__(self, _("Standard Icon Names"))
Ejemplo n.º 40
0
	def __init__(self, text, lang, language_name):
		Source.__init__(self, name=_("Translate into %s") % language_name)
		self._text = text
		self._lang = lang
Ejemplo n.º 41
0
 def __init__(self, name=_("System Services")):
     Source.__init__(self, name)
     self._initd_path = None
Ejemplo n.º 42
0
	def __init__(self, name=_("VirtualBox Machines")):
		Source.__init__(self, name)
Ejemplo n.º 43
0
	def __init__(self):
		Source.__init__(self, _("Audacious"))
Ejemplo n.º 44
0
	def __init__(self, leaf):
		Source.__init__(self, unicode(leaf))
		self._leaf = leaf
Ejemplo n.º 45
0
 def __init__(self):
     Source.__init__(self, _("Search Engines"))
Ejemplo n.º 46
0
	def __init__(self):
		Source.__init__(self, _("Zim Notebooks"))
Ejemplo n.º 47
0
 def __init__(self):
     Source.__init__(self, _("Workspaces"))
     screen = wnck.screen_get_default()
     screen.get_workspaces()
Ejemplo n.º 48
0
	def __init__(self, library):
		Source.__init__(self, _("Playlist"))
		self.library = library
Ejemplo n.º 49
0
	def __init__(self, name=_("Zim Pages")):
		Source.__init__(self, name)
		# path to file with list notebooks
		self._version = 2
Ejemplo n.º 50
0
	def __init__(self, name=_("OpenOffice/LibreOffice Recent Items")):
		Source.__init__(self, name)
Ejemplo n.º 51
0
	def __init__(self):
		Source.__init__(self, _("Skype Statuses"))
Ejemplo n.º 52
0
 def __init__(self, obj=None, fil=None):
     Source.__init__(self, _("Branch Source"))
     self.fil = fil or (lambda x: (y for y in x))
     self.abs_path = obj.abs_path if obj else None
Ejemplo n.º 53
0
 def __init__(self):
     Source.__init__(self, _("Clipboards"))
     self.clipboards = deque()
Ejemplo n.º 54
0
 def __init__(self):
     Source.__init__(self, _("Keys"))
     self.resource = None
Ejemplo n.º 55
0
 def __init__(self):
     Source.__init__(self, _("Running Applications"))
     self.all_apps = []
Ejemplo n.º 56
0
 def __init__(self, name=_("Running Tasks")):
     Source.__init__(self, name)
     self._cache = []
     self._version = 2
Ejemplo n.º 57
0
	def __init__(self):
		Source.__init__(self, u"Evil Source")
Ejemplo n.º 58
0
 def __init__(self, fileleaf, unarchive_func):
     Source.__init__(self, _("Content of %s") % fileleaf)
     self.path = fileleaf.object
     self.unarchiver = unarchive_func
Ejemplo n.º 59
0
	def __init__(self):
		Source.__init__(self, _("Search Engines"))