Commit Graph

438 Commits

Author SHA1 Message Date
Shiz 1cd2434fda Remove error callback properly on off_error. 2014-02-13 06:29:09 +01:00
Shiz cb8dbd7f28 Fix throttling code to work properly with event loop. 2014-02-13 06:23:58 +01:00
Shiz 703aec2249 Don't attempt to handle events for which no handlers exist. 2014-02-13 05:38:50 +01:00
Shiz ac67af2552 Fix messages not being parsed properly. 2014-02-13 05:35:58 +01:00
Shiz 52a3416abd Fix irccat CTCP handler. 2014-02-13 04:38:10 +01:00
Shiz 6e4e0c0243 Merge branch 'master' into async 2014-02-13 04:35:05 +01:00
Shiz 78cdfd76e3 Merge branch 'master' into async 2014-02-13 04:31:40 +01:00
Shiz f8a7826366 Port utils to asynchronous connection. 2014-02-13 04:28:36 +01:00
Shiz 7399210ffa Add message seperator back to message. 2014-02-13 04:11:12 +01:00
Shiz 5ab5045709 Record raw original message in Message class. 2014-02-13 04:10:45 +01:00
Shiz d5f01d7440 Move encoding/decoding of messages to client. 2014-02-13 03:54:50 +01:00
Shiz 57fe14e266 Port client to new event loop-based connection. 2014-02-13 03:43:44 +01:00
Shiz 06c594d5a6 Move several constants to features.rfc1459.protocol. 2014-02-13 03:41:37 +01:00
Shiz b4c25b5631 Add upgrade to TLS functionality to connection. 2014-02-13 03:41:37 +01:00
Shiz f06bbc6652 Convert Connection to use the asynchronous event loop.
The connection object will now allow for its consumers to register for
events to show up, and will only allow sending of raw strings. No
message intertwining.
2014-02-13 03:41:34 +01:00
Shiz 32b996d23b Add asynchronous event loop.
This new event loop, located in async.py, is a light wrapper around
Tornado's event loop.
2014-02-13 03:17:40 +01:00
Shiz ef2715e083 Fix constant name typo in LIST_LIMITS_GROUPS. 2014-02-12 23:22:42 +01:00
Shiz c02f8af640 Make deep copy of limit dictionaries too. 2014-02-12 23:22:02 +01:00
Shiz 7511288303 Make a deep copy of behaviour dictionaries to prevent shared instances. 2014-02-12 23:19:44 +01:00
Shiz 4e3cb1a0d6 Replace hardcoded mode behaviours. 2014-02-12 23:03:55 +01:00
Shiz d4e79ac6f0 Don't add prefixes to valid channel modes, but their modes. 2014-02-12 22:26:59 +01:00
Shiz cac308c9a4 Fix channel modes in ISUPPORT not being correctly recorded. 2014-02-12 22:23:42 +01:00
Shiz 19c96474a6 Copy user list on _destroy_channel to prevent runtime error. 2014-02-11 04:12:15 +01:00
Shiz a8d03480e1 Make RFC1459 protocol.py prettier. 2014-02-10 02:48:59 +01:00
Shiz 972342a7a8 Remove traces of old types system. 2014-02-10 02:48:59 +01:00
Shiz c9c590b96a Actually handle parse_data() returning False. 2014-02-10 02:48:59 +01:00
Shiz a945074b8d Improve handler failure logging. 2014-02-10 02:48:59 +01:00
Shiz 2b36834f41 Add WHOX feature. 2014-02-10 02:48:59 +01:00
Shiz 26a2eb1391 Remove traces of old message system. 2014-02-10 02:48:59 +01:00
Shiz 24bccad18a Clean up irccat code a bit. 2014-02-10 02:48:59 +01:00
Shiz c7e5384358 Unconditionally sync metadata, even on quitting or killing. 2014-02-10 02:48:59 +01:00
Shiz 69c5d1d667 Add topic command to RFC1459 client. 2014-02-10 02:48:59 +01:00
Shiz 5ab0317198 Fix missing re import. 2014-02-10 02:48:59 +01:00
Shiz 790a45194a Newline polizei, please add newlines to the end of your files. 2014-02-10 02:48:55 +01:00
Shiz 14ebe3f308 Fix default on_ctcp_version to take content argument. 2014-02-10 02:47:50 +01:00
Shiz 85039068de Add utility function to convert arbitrary names to Python identifiers. 2014-02-10 02:47:50 +01:00
Shiz 2cea7599da Parse CTCP query contents properly. 2014-02-10 02:47:50 +01:00
Shiz fcc9895103 Undo "smart" optimization change that breaks mode parsing. 2014-02-10 02:47:50 +01:00
Tony Young f92b6b194e Always perform _sync_user if metadata is available.
This is slightly less bad than only syncing user metadata if the user is
in a channel. When we received a PM, there was no way to retrieve
username/hostname information. This remedies it by making the
information available in the users dictionary and will be updated anyway
if a user sends a new message.
2014-02-10 02:47:50 +01:00
Tony Young 920a7357d6 Switch to Python's built-in logging module.
This allows client code to configure logging without having to mess
around with pydle's logging system (and pydle shouldn't hijack logging,
anyway).
2014-02-10 02:47:50 +01:00
Tony Young 04d0bf2cdf Add support for setting source_address. 2014-02-10 02:47:50 +01:00
Shiz d1794d1a97 Remove last trace of message types. 2014-02-10 02:47:49 +01:00
Shiz 6969767cc7 Copy input modes in the mode parsing function to prevent side-effects.
This fixes issue #9.
2014-02-10 02:47:49 +01:00
Shiz 0da57710b7 Remove the ability to wait for certain message types to arrive.
It is unused and can lead to ping timeouts easily, and will be useless
in the upcoming connection rewrite anyway.
2014-02-10 02:47:49 +01:00
Shiz d60d76b0c5 Add force parameter to message construction. 2014-02-10 02:47:49 +01:00
Shiz 24228b68fb Move password connection parameter to features.rfc1459. 2014-02-10 02:47:49 +01:00
Shiz 0b3278723b Update README to reflect codebase changes. 2014-02-10 02:47:49 +01:00
Shiz 8c6cb164ff Seperate base RFC1459 functionality into feature.
This moves pretty much all RFC1459-dependent code into
`pydle.features.rfc1459`. `pydle.features.ircv3_1` and
`pydle.features.ircv3_2` have also been reorganized.
2014-02-10 02:47:28 +01:00
Shiz 9ab4c454bf Merge branch 'master' of github:Shizmob/pydle 2014-02-05 17:22:11 +01:00
Shiz 8521332af8 Add experimental support for MONITOR. 2014-02-05 17:21:06 +01:00