24
30
self.screen.connect("active-window-changed", self.__set_active_window)
26
33
def __set_active_window(self, screen, window=None):
27
print "changed window"
28
34
window = self.screen.get_active_window()
29
print window.get_name()
35
#print window.get_name()
31
37
self.active_window["app"] = window.get_application()
32
38
self.active_window["text"] = window.get_name()
33
40
self.emit("changed", self.active_window)
42
def _extract_text(self):
43
text = self.active_window["text"]
44
app = self.active_window["app"].get_name()
47
text = string.rsplit(text, " - Mozilla Firefox", 1)[0]
48
elif app == "Text Editor":
49
text = string.rsplit(text, " (", 1)[0]
50
self.active_window["text"] = text
37
53
class RelevancyBox:
38
54
def __init__(self):
40
56
from zeitgeist import dbusutils
41
57
self.zg = dbusutils.DBusInterface()
59
#plotter.plot_graph(self.graph.nodes, [])
43
60
self.zg.connect("EventsChanged", self.__fragment_event)
44
am.connect("changed", self.get_related_items)
61
#am.connect("changed", self.get_related_items)
46
63
def __fragment_event(self, event):
47
64
event = event[1][0]
48
65
self.graph._append_to_graph(event)
49
#self.get_related_items(None, event)
66
self.get_related_items(None, event)
51
68
def get_related_items(self, source, active_window):
52
print "---------- getting relations -----------"
69
#print "---------- getting relations -----------"
56
app = active_window["app"].get_name()
57
text = string.rsplit(active_window["text"], " - "+app, 1)[0]
58
if text == active_window["text"]:
59
text = string.rsplit(active_window["text"], " - ", 1)[0]
75
text = active_window["text"]
61
76
events = self.zg.FindEvents(0, 0, 1, False, "item", [{"name":[text]}])
64
for text in active_window["text"].split(" "):
66
events = self.zg.FindEvents(0, 0, 1, False, "item", [{"name":["%"+text+"%"]}])
68
#print "*** ", events[0]["text"]
71
79
for event in events:
72
80
#print event["app"]
73
print "---> "+event["text"]
81
#print "---> "+event["text"]
74
82
#print event["text"]
76
84
if self.graph.nodes.has_key(event["uri"]):
77
related =self.graph.get_neighbourhood(self.graph.nodes[event["uri"]], 1, [])
85
related =self.graph.get_neighbourhood(self.graph.nodes[event["uri"]], depth, [], ["+","-"])
78
86
#print item["node"].id
79
87
print "**********************************"
82
90
self.print_relations(related, uricount)
83
plotter.plot_tree(related)
91
plotter.plot_tree(related, depth)
84
92
#window.set_item(self.graph.nodes[event["uri"]], related)
85
93
print "**********************************"
105
113
self.print_relations(inc.first_node, uricount)
107
115
def _create_map(self):
108
events = self.zg.FindEvents(0, 0, 0, True, "event", [])
117
t1 = time.time() - 86400
118
events = self.zg.FindEvents(t1, t1+86400, 0, True, "event", [])
109
119
self.graph.set_graph(events)
111
121
if __name__=="__main__":