From: <mcf...@us...> - 2003-07-06 14:22:50
|
Update of /cvsroot/pydispatcher/dispatch/docs In directory sc8-pr-cvs1:/tmp/cvs-serv12916/docs Modified Files: index.html Log Message: Began work on a "what it does for you" section, simple acquisition/installation instructions, link to mailing list added. Index: index.html =================================================================== RCS file: /cvsroot/pydispatcher/dispatch/docs/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** index.html 2 Jul 2003 03:11:22 -0000 1.2 --- index.html 6 Jul 2003 14:22:47 -0000 1.3 *************** *** 21,26 **** various applications.<br> </p> <p>PyDispatcher welcomes contributions, suggestions, and feedback from ! users.<br> </p> <p class="footer">A SourceForge Open-Source project: <a --- 21,101 ---- various applications.<br> </p> + <p>To be more concrete about what PyDispatcher does for you:<br> + </p> + <ul> + <li>provides a centralized service for delivering messages to + registered objects (in the local process). It allows you to + register any number of functions (callable objects) which can receive + signals from senders.</li> + <ul> + <li>registration can be for all senders, particular sending + objects, or "anonymous" messages (messages where the sender is None)<br> + </li> + <li>registration can be for any signal, or particular signals</li> + <li>a single signal will be delivered to all appropriate registered + receivers, so that multiple registrations do not interfere with each + other<br> + </li> + </ul> + <li>there is no requirement for the sender or receiver to be + dispatcher-aware. Any Python object save the None object can act + as a sender, and any callable object can act as a receiver. There + is no need to inherit from a particular class or provide a particular + interface on the object.<br> + </li> + <li>the system uses weak references to receivers wherever possible</li> + <ul> + <li>object lifetimes are not affected by PyDispatcher registrations + (that is, when your object goes away, the registrations related to the + object also go away). <br> + </li> + <li>references to common transient objects (in particular instance + methods) are stored as compound weak references. <br> + </li> + <li>weak references can be disabled on a + registration-by-registration basis</li> + </ul> + <li>allows rich signal types, signals are simply hashable objects + used to store and retrieve sub-tables, they are otherwise opaque to the + dispatcher mechanism</li> + <li>allows sending more information when sending than any particular + receiver can handle, dispatcher automatically culls those arguments + which are not appropriate for the particular receiver. This + allows registering very simple functions dealing with general messages, + while still allowing natural passing of arguments to higher level + functions.<br> + </li> + </ul> + <p>The dispatcher mechanism is particularly useful when constructing + Model-View-Controller style applications where it is not desirable to + have the Model objects aware of the event model.</p> + <h2>Acquisition and Installation</h2> + <p>PyDispatcher is available as a standard Python distutils + installation package from the SourceForge project <a + href="https://sourceforge.net/project/showfiles.php?group_id=79755">file + repository</a>. To install, unzip the source archive into a + temporary directory and run:<br> + </p> + <pre>python setup.py install<br></pre> + <p>PyDispatcher does not include any binary packages, so there should + be no issues in installation. To use the <a + href="https://sourceforge.net/cvs/?group_id=79755">CVS version</a> of + PyDispatcher (useful for developers of PyDispatcher), simply check out + the module to a directory on your PythonPath.<br> + </p> + <p class="technical">Due to problems with the Python 2.2.2 (and + earlier) weak reference implementation, it is <strong>strongly + recommended</strong> that you use <strong>Python 2.2.3</strong> or later + when using PyDispatcher.<br> + </p> + <h2>Documentation</h2> + <p>You can find usage samples in the examples directory of the + distribution. The dispatcher module's documentation is currently + the major source of information regarding the usage patterns.<br> + </p> <p>PyDispatcher welcomes contributions, suggestions, and feedback from ! users in the pydispatcher-dev <a ! href="http://lists.sourceforge.net/lists/listinfo/pydispatcher-devel">mailing ! list</a>.<br> </p> <p class="footer">A SourceForge Open-Source project: <a |