Source

irc / README

Diff from to
 
     http://www.irchelp.org/irchelp/rfc/
 
-Requirements:
+Installation
+============
 
-  * Python 2.6 or newer (including Python 3!).
+IRC requires Python 2.6 or newer (including Python 3).
 
-Installation:
-
-  You have several options to install the IRC project.
+You have several options to install the IRC project.
 
   * Use "easy_install irc" or "pip install irc" to grab the latest
     version from the cheeseshop (recommended).
   * Run "paver install" (from repo checkout, requires paver) or
   * Copy irc directory to appropriate site-packages directory.
 
+Client Features
+===============
+
 The main features of the IRC client framework are:
 
   * Abstraction of the IRC protocol.
     A basic IRC server implementation. Suitable for testing, but not
     production quality.
 
+Examples
+========
+
 Example scripts in the scripts directory:
 
   * irccat
 to escape the # symbol in the channel. For example, use \\#test or "#test"
 instead of #test.
 
+Decoding Input
+==============
+
+By default, the IRC library does attempt to decode all incoming streams as
+UTF-8, but the author acknowledges that there are cases where decoding is
+undesirable or a custom decoding option is desirable. To support these cases,
+since irc 3.4.2, the ServerConnection class may be customized. The
+'buffer_class' attribute on the ServerConnection determines what class is used
+for buffering lines from the input stream. By default it is
+DecodingLineBuffer, but may be re-assigned with another class, such as irc
+client.LineBuffer, which does not decode the lines and passes them through as
+byte strings. The 'buffer_class' attribute may be assigned for all instances
+of ServerConnection by overriding the class attribute::
+
+    irc.client.ServerConnection.buffer_class = irc.client.LineBuffer
+
+or it may be overridden on a per-instance basis (as long as it's overridden before the connection is established)::
+
+    server = irc.client.IRC().server()
+    server.buffer_class = irc.client.LineBuffer
+    server.connect()
+
+
+Notes and Contact Info
+======================
 
 Enjoy.
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.