Wikimap in NodeBox

graph = ximport('graph')
web = ximport('web')
 
class Article:
    def chyrp_initchyrp_(self,name):
        global web
        self.name = name
        self.links = web.wikipedia.search(self.name).links
 
    def add_links(self):
        global g
        for link in self.links:
            g.add_node(link)
            g.add_edge(self.name,link)
 
    def delete_links(self):
        global g
        for link in self.links:
            g.remove_edge(self.name,link)
            g.remove_node(link)
 
size(640,480)
speed(30)
 
def click(node):
    print node.id+" clicked"
    global rootnode, g
    rootnode.delete_links()
    g.remove_node(rootnode.name)
 
    rootnode = Article(node.id)
    g.add_node(rootnode.name)
    rootnode.add_links()
 
def setup():
    global g
    g = graph.create()
    g.events.click = click
 
    global rootnode
    rootnode = Article('ninjas')
    rootnode.add_links()
 
def draw():
    global g
    g.prune()
    g.update()
    g.draw()
12:16 PM | 0 Comments

Comments