eode/TwistedBot — pull request #2 by eode (2013-03-12 05:35:08+00:00)
Title: Inventory control via GUI and plugin, various bugfixes..

Many changes -- primarily creation of inventory management w/plugin and gui controls
Merge of jpmarno/TwistedBot workspace back into eode/TwistedBot
NEW: Added GUI inventory display and control, including inventory list,
double-click to select item, and options to drop one, stack, or all items
NEW: Implement _encode for nbt data.
NEW: Server can now set held item
NEW: BotInterface.move_stack (moves stack from one inventory to another)
NEW: splitimages.make_tiles to tile an image without saving
NEW: Generalized exception logging by including "exc_info=True" in msg() command
NEW: Slot base class, NoItem class for representing missing inventory
NEW: GCProxy class to handle window[x] numbering and None->NoItem conversion
NEW: Inventory search/item lookup by name or partial name
NEW: transaction framework -- call method when server accepts action
NEW: Mouse capabilities on virtual inventory windows
NEW: Inventories class, a virtual inventory window manager
NEW: protocol methods for handling server actions on virtual windows
NEW: Each entity's viewable inventory (equipment) is tracked
NEW: BotInterface for high-level interaction with bot
NEW: BotInterface: high-level abstraction for clicks on entities and inventory
NEW: inventory plugin for inventory-related behaviours
IMPROVED: plugins cannot crash the bot by raising an exception
IMPROVED: BotInterface.hold moves items from general to ready inventory if needed
IMPROVED: adapted plugins to use the interface instance as connection point
IMPROVED: Slot subclasses now include a window reference and position
IMPROVED: Simplified inventory window __getitem__, works with pos/neg/slicesSTYLE: removed 'import *' from QtGui
FIXED: obscure __slots__ and property conflict in Items causing inaccurate .size
(which prevented transfer of enchanted items from inventory to inventory)
FIXED: terminal console input is working (again?)
FIXED: crash on shutdown when client isn't connected
FIXED: inventory / virtual window clicking
FIXED: crash when a blank message is sent in chat
REMOVED: proto_newest.py (unused and not necessary)