Exemple #1
0
def main(*args): 
    Graphline(
        PALETTE = Palette("Palette","Brush"),
        CONSOLE = ConsoleReader(">>> "),
        LINESTOKENS = lines_to_tokenlists(),
        PAINT = Painter(),
        linkages = {
            ("CONSOLE", "outbox"): ("LINESTOKENS","inbox"),
            ("LINESTOKENS", "outbox"): ("PAINT","inbox"),
            ("PALETTE", "outbox"): ("LINESTOKENS","inbox"),
            ("PAINT", "colour") : ("PALETTE", "colourchange"),
        }
    ).run()
Exemple #2
0
def TopologyViewerServer(serverPort = 1500, **dictArgs):
    """\
    TopologyViewerServer([noServer][,serverPort],**args) -> new TopologyViewerServer component.

    Multiple-clients-at-a-time TCP socket Topology viewer server. Connect on the
    specified port and send topology change data for display by a
    TopologyViewer.

    Keyword arguments:
    
    - serverPort  -- None, or port number to listen on (default=1500)
    - args        -- all remaining keyword arguments passed onto TopologyViewer
    """
    FastRestartServer(protocol=Users, port=serverPort).activate()
#     SimpleServer(protocol=Users, port=serverPort).activate()
    return Pipeline( SubscribeTo("NODEEVENTS"),
                     chunks_to_lines(),
                     lines_to_tokenlists(),
                     TopologyViewer(**dictArgs),
                     ConsoleEchoer()
               )
Exemple #3
0
        for item in X:            
            if re.match('(.+)\((.+),(.+)\)',item): # relation
                command = parseRelation(item)
                links.append(command)
            else: # entity
                command = parseEntity(item)
                nodes.append(command)
        
        for node in nodes:
            self.send(node, "outbox")
        for link in links:
            self.send(link, "outbox")
        yield 1
        yield 1
        self.send(self.shutdown_mess,"signal")
        
if __name__ == "__main__":
    from Kamaelia.Util.DataSource import DataSource
    from Kamaelia.Visualisation.PhysicsGraph.lines_to_tokenlists import lines_to_tokenlists
    #from Kamaelia.Util.Console import ConsoleEchoer
    from Kamaelia.Visualisation.PhysicsGraph.TopologyViewer import TopologyViewer
    from Kamaelia.Chassis.Pipeline import Pipeline
        
    Pipeline(
        DataSource(['  person  mum  ', '  ', """   
                          """, '  person  son ', ' childof  (  mum  , son  ) ']),
        RelationParser(),
        lines_to_tokenlists(),
        #ConsoleEchoer(),
        TopologyViewer(),
    ).run()        
Exemple #4
0
            'ADD NODE 6Node 6Node randompos -',
            'ADD NODE 7Node 7Node randompos sphere', 'ADD LINK 1Node 2Node',
            'ADD LINK 1Node 3Node', 'ADD LINK 1Node 4Node',
            'ADD LINK 1Node 5Node', 'ADD LINK 1Node 6Node',
            'ADD LINK 1Node 7Node',
            'ADD NODE 1Node:1Node 1Node:1Node randompos -',
            'ADD NODE 1Node:2Node 1Node:2Node randompos -',
            'ADD NODE 1Node:3Node 1Node:3Node randompos -',
            'ADD NODE 1Node:4Node 1Node:4Node randompos -',
            'ADD LINK 1Node:1Node 1Node:2Node',
            'ADD LINK 1Node:2Node 1Node:3Node',
            'ADD LINK 1Node:3Node 1Node:4Node',
            'ADD LINK 1Node:4Node 1Node:1Node',
            'ADD NODE 1Node:1Node:1Node 1Node:1Node:1Node randompos -',
            'ADD NODE 1Node:1Node:2Node 1Node:1Node:2Node randompos -',
            'ADD LINK 1Node:1Node:1Node 1Node:1Node:2Node',
            'ADD NODE 5Node:1Node 5Node:1Node randompos sphere',
            'ADD NODE 5Node:2Node 5Node:2Node randompos sphere',
            'ADD LINK 5Node:1Node 5Node:2Node'
        ]),
        TOKENS=lines_to_tokenlists(),
        VIEWER=TopologyViewer3D(),
        CONSOLEECHOER=ConsoleEchoer(),
        linkages={
            ("CONSOLEREADER", "outbox"): ("TOKENS", "inbox"),
            ("DATASOURCE", "outbox"): ("TOKENS", "inbox"),
            ("TOKENS", "outbox"): ("VIEWER", "inbox"),
            ("VIEWER", "outbox"): ("CONSOLEECHOER", "inbox"),
        }).run()

# Licensed to the BBC under a Contributor Agreement: CL
                                 'ADD NODE 3Node 3Node randompos sphere image=../Files/mum.gif',
                                 'ADD NODE 4Node 4Node randompos - image=http://kamaelia.sourceforge.net/Kamaelia.gif',
                                 'ADD NODE 5Node 5Node randompos sphere image=../Files/dad.gif', 
                                 'ADD NODE 6Node 6Node randompos - image=../Files/son.gif',
                                 'ADD NODE 7Node 7Node randompos sphere image=../Files/son1.gif',
                                 'ADD LINK 1Node 2Node',
                                 'ADD LINK 1Node 3Node', 'ADD LINK 1Node 4Node',
                                 'ADD LINK 1Node 5Node','ADD LINK 1Node 6Node', 'ADD LINK 1Node 7Node',
                                 'ADD NODE 1Node:1Node 1Node:1Node randompos - image=../Files/son.gif', 
                                 'ADD NODE 1Node:2Node 1Node:2Node randompos - image=../Files/dad.gif',
                                 'ADD NODE 1Node:3Node 1Node:3Node randompos - image=../Files/mum.gif', 
                                 'ADD NODE 1Node:4Node 1Node:4Node randompos - image=../Files/son1.gif',
                                 'ADD LINK 1Node:1Node 1Node:2Node', 'ADD LINK 1Node:2Node 1Node:3Node',
                                 'ADD LINK 1Node:3Node 1Node:4Node', 'ADD LINK 1Node:4Node 1Node:1Node',
                                 'ADD NODE 1Node:1Node:1Node 1Node:1Node:1Node randompos -',
                                 'ADD NODE 1Node:1Node:2Node 1Node:1Node:2Node randompos -',
                                 'ADD LINK 1Node:1Node:1Node 1Node:1Node:2Node',
                                 'ADD NODE 5Node:1Node 5Node:1Node randompos sphere',
                                 'ADD NODE 5Node:2Node 5Node:2Node randompos sphere',
                                 'ADD LINK 5Node:1Node 5Node:2Node'
                                 ]),
        TOKENS = lines_to_tokenlists(),
        VIEWER = TopologyViewer3DWithParams(),
        CONSOLEECHOER = ConsoleEchoer(),
    linkages = {
        ("CONSOLEREADER","outbox") : ("TOKENS","inbox"),
        ("DATASOURCE","outbox") : ("TOKENS","inbox"),
        ("TOKENS","outbox")   : ("VIEWER","inbox"),
        ("VIEWER","outbox")  : ("CONSOLEECHOER","inbox"),
    }
).run()
Exemple #6
0
                }
                
from Kamaelia.UI.PygameDisplay import PygameDisplay

pgd = PygameDisplay(width=800,height=600).activate()
PygameDisplay.setDisplayService(pgd)

TVC = TopologyViewerComponent(position=(0,48), laws = AxonLaws(), particleTypes=particleTypes)

SANDBOX = Sandbox()

Graphline(
    CONSOLEINPUT = pipeline(
                     ConsoleReader(">>> "),
                     chunks_to_lines(),
                     lines_to_tokenlists(),
                   ),
    DEBUG = ConsoleEchoer(forwarder=True),
    TVC = TVC,
    INTROSPECTOR = pipeline(Introspector(SANDBOX), chunks_to_lines(), lines_to_tokenlists()),
    SANDBOX = SANDBOX,
    NEW = Button(caption="New Component", msg="NEXT", position=(8,8)),
    CHANGE = Button(caption="Change Component", msg="NEXT", position=(128,8)),
    DEL = Button(caption="Delete Component", msg="NEXT", position=(256,8)),
    LINK = Button(caption="Make Link", msg="NEXT", position=(402,8)),
    UNLINK = Button(caption="Break Link", msg="NEXT", position=(480,8)),
    GO   = Button(caption="Activate!", msg="NEXT", position=(590,8)),
    EDITOR_LOGIC = EditorLogic(),
    CED = ComponentEditor(classes),
    linkages = {
       ("CONSOLEINPUT", "outbox") : ("SANDBOX", "inbox"),
ADD NODE VorbisDecode VorbisDecode auto -
2. add one link
ADD LINK TCPClient VorbisDecode
3. Delete one node/ link/ all 
DEL NODE TCPClient
ADD LINK TCPClient VorbisDecode
DEL ALL
"""

import sys

from Kamaelia.Util.Console import ConsoleReader, ConsoleEchoer
from Kamaelia.File.ReadFileAdaptor import ReadFileAdaptor
from Kamaelia.Visualisation.PhysicsGraph.lines_to_tokenlists import lines_to_tokenlists
from Kamaelia.Visualisation.PhysicsGraph.TopologyViewer import TopologyViewer
from Kamaelia.Chassis.Pipeline import Pipeline

if len(sys.argv) == 1:
    print "Please type the command you want to draw"
    # ConsoleReader->lines_to_tokenlists->TopologyViewer
    Pipeline(ConsoleReader(">>> "), lines_to_tokenlists(), TopologyViewer()).run()
else:
    # ReadFileAdaptor->lines_to_tokenlists->TopologyViewer
    Pipeline(
        ReadFileAdaptor(filename=sys.argv[1], readmode="line"),
        lines_to_tokenlists(),
        # ConsoleEchoer()
        TopologyViewer(),
        ConsoleEchoer(),
    ).run()
Exemple #8
0
def text_to_token_lists():
    return Pipeline(chunks_to_lines(), lines_to_tokenlists())
Exemple #9
0
    pipeline(
        ReadFileAdaptor("audio.2.raw",
                        chunkrate=1000,
                        readmode="bitrate",
                        bitrate=datarate),
        TCPClient("127.0.0.1", musicport),
    ).activate()

if networkserve:
    audiencemix = SingleServer(port=mockserverport)
else:
    audiencemix = printer()  # SimpleFileWriter("bingle.raw")

if livecontrol:
    Graphline(CONTROL=SingleServer(port=controlport),
              TOKENISER=lines_to_tokenlists(),
              MIXER=MatrixMixer(),
              AUDIENCEMIX=audiencemix,
              linkages={
                  ("CONTROL", "outbox"): ("TOKENISER", "inbox"),
                  ("TOKENISER", "outbox"): ("MIXER", "mixcontrol"),
                  ("MIXER", "mixcontrolresponse"): ("CONTROL", "inbox"),
                  ("MIXER", "outbox"): ("AUDIENCEMIX", "inbox"),
              }).run()
else:
    Graphline(CONTROL=ConsoleReader("mixer desk >> "),
              CONTROL_=consoleEchoer(),
              TOKENISER=lines_to_tokenlists(),
              MIXER=MatrixMixer(),
              AUDIENCEMIX=audiencemix,
              linkages={
Exemple #10
0
def TextControlledTopologyViewer(**dictArgs):
    return Pipeline( chunks_to_lines(),
                     lines_to_tokenlists(),
                     TopologyViewer(**dictArgs),
                     ConsoleEchoer()
            )
def text_to_token_lists():
    return Pipeline( chunks_to_lines(),
                     lines_to_tokenlists()
                   )
Exemple #12
0
         TCPClient("127.0.0.1", dj2port),
    ).activate()
    pipeline(
         ReadFileAdaptor("audio.2.raw", chunkrate=1000, readmode="bitrate", bitrate=datarate),
         TCPClient("127.0.0.1", musicport),
    ).activate()

if networkserve:
    audiencemix = SingleServer(port=mockserverport)
else:
    audiencemix = printer() # SimpleFileWriter("bingle.raw")

if livecontrol:
    Graphline(
        CONTROL =  SingleServer(port=controlport),
        TOKENISER = lines_to_tokenlists(),
        MIXER = MatrixMixer(), 
        AUDIENCEMIX = audiencemix,
        linkages = {
           ("CONTROL" , "outbox") : ("TOKENISER" , "inbox"),
           ("TOKENISER" , "outbox") : ("MIXER" , "mixcontrol"),
           ("MIXER" , "mixcontrolresponse") : ("CONTROL" , "inbox"),
           ("MIXER", "outbox") : ("AUDIENCEMIX", "inbox"),
        }
    ).run()
else:
    Graphline(
        CONTROL = ConsoleReader("mixer desk >> "),
        CONTROL_ = consoleEchoer(),
        TOKENISER = lines_to_tokenlists(),
        MIXER = MatrixMixer(),