mirror of
https://github.com/correl/SleekXMPP.git
synced 2024-12-29 03:00:16 +00:00
Added notes/ideas/comments on things that can be cleaned/simplified or needs to be expanded before the 1.0 release.
This commit is contained in:
parent
aad185fe29
commit
aa02ecd154
1 changed files with 153 additions and 0 deletions
153
todo1.0
Normal file
153
todo1.0
Normal file
|
@ -0,0 +1,153 @@
|
|||
Atom stanza? Should stanzas for plugins go in sleekxmpp.stanza or sleekxmpp.plugins.stanza?
|
||||
|
||||
sleekxmpp.stanza __all__ out of date?
|
||||
|
||||
stanza.error could be cleaned up, use _delSubText, etc
|
||||
|
||||
stanza.htmlim could use _delSubText, etc. Why not msg['html']['body'] instead of msg['html']['html']?
|
||||
|
||||
Unify timeout values - maybe xmlstream.stanzabase.TIMEOUT?
|
||||
|
||||
Need to use registerStanzaPlugin in rootstanza instead of the manual steps
|
||||
|
||||
Is exceptions.XMPPError raised anywhere? grep says no, is it still needed?
|
||||
|
||||
Extra tostring method in xmlstream. Maybe modify the tostring/ packages to accept a stream and top namespace instead of assuming a stanza object? Change ElementBase __str__ to pass its stream object to new function instead of extending ToString.
|
||||
|
||||
Move tostring and tostring26 to be a single package with import switch in a __init__.py that selects appropriate file to import.
|
||||
|
||||
Remove thread remains from handler classes.
|
||||
|
||||
Clarify what is meant by 'instream' for a handler.
|
||||
|
||||
Allow for XPath matching to use basic [@att="value"] filter. <- eek? Alternative is to use xml mask, but those are longer.
|
||||
|
||||
ElementBase sub_items not subitem?
|
||||
|
||||
Only import cElementTree in stanzabase, everything else reference that. Would make using lxml instead of cElementTree easier if needed.
|
||||
|
||||
*XMPP needs to use JID class instead of lots of fields.
|
||||
|
||||
BaseXMPP set_jid, makeIqQuery, getjidresource, getjidbare not needed
|
||||
|
||||
Is BaseXMPP.send used anywhere?
|
||||
|
||||
Make top level examples folder, put example.py, component_example.py there. Maybe even the disco browser too.
|
||||
|
||||
__getitem__ should be in BaseXMPP. get too, or remove it?
|
||||
|
||||
xmlstreammod in ComponentXMPP can be removed, just use XMLStream.
|
||||
|
||||
Why CamelCase and underscore_names? Document semantics.
|
||||
|
||||
Make the common classes available using __init__.py
|
||||
|
||||
Need to unit test stanzabase/elementbase. Heavily.
|
||||
|
||||
conn_tests and sleekxmpp/tests and sleekxmpp/xmlstresm/test.* -> convert to either unit tests, or at least put in same place
|
||||
|
||||
Update setup.py - github url, version #
|
||||
|
||||
|
||||
|
||||
-- PEP8 - all files
|
||||
|
||||
Need to use spaces
|
||||
|
||||
Docstrings are lacking. Need to document attributes and return values.
|
||||
|
||||
Organize imports
|
||||
|
||||
Use absolute, not relative imports
|
||||
|
||||
Fix one-liner if statements
|
||||
|
||||
Line length limit of 79 characters
|
||||
|
||||
|
||||
|
||||
-- Plugins
|
||||
|
||||
--- xep_0004
|
||||
|
||||
Need more unit tests
|
||||
|
||||
--- xep_0009
|
||||
|
||||
Need stanza objects
|
||||
|
||||
Need unit tests
|
||||
|
||||
--- xep_0045
|
||||
|
||||
Need to use stanza objects
|
||||
|
||||
A few TODO comments for checking roles and using defaults
|
||||
|
||||
Need unit tests
|
||||
|
||||
--- xep_0050
|
||||
|
||||
Need unit tests
|
||||
|
||||
Need stanza objects - use new xep_0004
|
||||
|
||||
--- xep_0060
|
||||
|
||||
Need unit tests
|
||||
|
||||
Need to use existing stanza objects
|
||||
|
||||
--- xep_0078
|
||||
|
||||
Is it useful still?
|
||||
|
||||
Need stanza objects/unit tests
|
||||
|
||||
--- xep_0086
|
||||
|
||||
Is there a way to automate setting error codes?
|
||||
|
||||
Seems like this should be part of the error stanza by default
|
||||
|
||||
Use stanza objects
|
||||
|
||||
--- xep_0092
|
||||
|
||||
Stanza objects
|
||||
|
||||
Unit tests
|
||||
|
||||
--- xep_0199
|
||||
|
||||
Stanza objects
|
||||
|
||||
Unit tests
|
||||
|
||||
Clean commented code
|
||||
|
||||
|
||||
|
||||
-- Documentation
|
||||
|
||||
Document the Zen/Tao/Whatever of SleekXMPP to explain design goals and decisions
|
||||
|
||||
Write architecture description
|
||||
|
||||
XMPP:TDG needs to be rewritten.
|
||||
|
||||
Need to update docs that reference old JID attributes of sleekxmpp objects
|
||||
|
||||
Page describing new JID class
|
||||
|
||||
Message page needs updating
|
||||
|
||||
Iq page needs to be written
|
||||
|
||||
Make guides to go with example.py and component_example.py
|
||||
|
||||
Page on xmlstream.matchers
|
||||
|
||||
Page on xmlstream.handlers, especially waiters
|
||||
|
||||
Page on using xmlstream.scheduler
|
Loading…
Reference in a new issue