mechanoid README

mechanoid is a fork of John J. Lee's mechanize.  I began by taking
John's mechanize, pullparser, ClientForm, and ClientCookie packages,
plonking them all together, and calling it mechanoid. Note that all the
researched comments about the RFCs were also done by John.

Mainly, mechanoid is me scratching an itch I had.  John's code was
almost what I needed and I was interested in, but ignorant of, http
programming.  So every time I work with this, I learn a lot from John
and the other programmers that are listed in the source header-comments.

At this point, the module has been shaped into reasonably independent
subpackages of Python modules where most files contain a single class
and all code is contained in classes.

Notes:

    Installation is described in the INSTALL file.

    The only objects that matter are the Browser in mechanoid.py and the
    HTMLForm instances returned by Browser.forms().  Run pydoc on
    mechanoid.py or enter >>> help("mechanoid") to see the doc strings.
    That file contains the Browser.  The use of the form code is found
    by running pydoc on clientform/HTMLForm.py.

    More examples are in the projects which depend upon mechanoid,
    as listed on mech's freshmeat page.

    Hackers of mechanoid might need the prefork.src package.  John's
    notes in the current code are marked "jjl::" and mine are marked
    "rh::".  Problem areas are marked (by both of us) "XXX".

    If you are on Python 2.2 or less, you must use mechanoid_retro which
    is the last version with John's backwards compatability.

Richard Harris
richardharris@operamail.com 

-------------

For those who are interested, here is the ongoing todo list:

* Second Pass *

clientform
  mimewriter <--
cookiejar
http_processors

* Pending Issues *

badly needs stand-alone form parser. Python can't parse
forms in tables worth a hoot.

could use a javascript-sensitive link parser

mechanoid
    getattr() only cares about self.form
    setting of handlers
handlers
    why order when all have order 500 ?
mimewriter
    replace with new Python email module OR
      make independent of deprecated mimetools

