April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.


Text line splitter

This component takes chunks of text and splits them at line breaks into individual lines.

Example usage

A system that connects to a server and receives fragmented text data, but then displays it a whole line at a time:

Pipeline( TCPClient(host=..., port=...),

How does it work?

chunks_to_lines buffers all text it receives on its "inbox" inbox. If there is a line break ("n") in the text it has buffered, then it extracts that line of text, including the line break character and sends it on out of its "outbox" outbox.

It also removes any "r" characters in the text.

If a producerFinished() or shutdownMicroprocess() message is received on this component's "control" inbox, then it will send it on out of its "signal" outbox and immediately terminate. It will not flush any whole lines of text that may still be buffered.


class chunks_to_lines(Axon.Component.component)

chunks_to_lines() -> new chunks_to_lines component.

Takes in chunked textual data and splits it at line breaks into individual lines.


  • control : Shutdown signalling
  • inbox : Chunked textual data


  • outbox : Individual lines of text
  • signal : Shutdown signalling

Methods defined here


You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.


Main loop.


Returns True if a shutdownMicroprocess or producerFinished message was received.


Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT