57ba0d5db9
[networking] Fix traceurl: trace all URL even if an error occurs
2015-10-03 16:47:20 +02:00
c812fd8c16
As the char ':' is not valid in URL, don't expect it
2015-10-03 16:47:08 +02:00
7970fca93a
Use with section for locking threadsafe region (instead of raw calls to acquire/release)
2015-09-28 17:21:03 +02:00
080ab9a626
Fix bad event behaviour: if an event ends in less than 6 seconds, it was executed in the event creator thread (blocking it until the event end)
2015-09-28 17:20:45 +02:00
ff605756ff
[news] Add support for RSS feeds and catch ExpatError when trying to parse a bad URL
2015-09-28 12:59:00 +02:00
59aff52ce1
Change the behaviour of send_response in module
2015-09-28 12:45:11 +02:00
283b0d006e
Add a new builtin: !echo
2015-09-28 12:45:10 +02:00
b66d7d30ed
Accelerate shutdown
2015-09-28 12:27:23 +02:00
f66ed07496
Lock select lists to avoid invalid states (particularly on closing)
2015-09-28 11:59:38 +02:00
ae7526dd96
Fix double exception when invalid file descriptor found in select
2015-09-28 11:59:37 +02:00
dda78df9d2
Add new action queue, synchronized with main thread for prompt like actions (conf loading, exit, ...)
2015-09-28 11:59:37 +02:00
3cfbfd96b0
Let main thread manage consumer threads
2015-09-28 11:59:37 +02:00
ee1910806c
[news] Introduce new module News: it fetchs atom feed from a website and display it
2015-09-28 11:53:55 +02:00
a4f4bb799c
Extract atom from networking module to core
2015-09-28 11:53:29 +02:00
471feca8fb
[networking.atom] use Datetime to store internal dates and can get an ordered list of elements
2015-09-28 11:53:11 +02:00
bbf5acafbb
[mediawiki] fix OpenSearch: can have empty description
2015-09-25 15:48:09 +02:00
7a1ad6430c
[whois] update module
...
* change intra-bocal URL to fix CertificateError
* fix 23.tf trombi URL
* add a catch when trying trombi URL
2015-09-24 11:29:51 +02:00
4cb8b0f1a6
Improve help
...
On hook declaration, we can now add a help and/or a help_usage argument
to provide a simple way to the user to be informed.
For example:
```python
@hook("cmd_hook", "news", help_usage={"URL": "Display the latests news from a given URL"})
def cmd_news(msg):
[...]
```
will be displayed on !help !news as:
> Usage for command !news from module news: !news URL: Display the latests news from a given URL
Or for module commands help:
```python
@hook("cmd_hook", "news", help="display latests news")
def cmd_news(msg):
[...]
```
will be displayed on !help mymodule (assuming this hook is in the
module named mymodule) as:
> Available commands for module news: news: display latests news
Obviously, both `help` and `help_usage` can be present. If `help_usage`
doesn't exist, help on usage will display the content of help.
2015-09-24 11:29:51 +02:00
4f7d89a3a1
[ycc] Dusting module, now named tinyurl
2015-09-24 11:29:50 +02:00
be776405e3
Dusting URL stacking modules: fixing error when using channel list as response
2015-09-24 11:29:50 +02:00
3c51b1f03b
Add assertion on class initialization
2015-09-24 11:29:49 +02:00
ecd9457691
Help: display on the right place, not always to private conversation
2015-09-24 11:29:49 +02:00
35ba5c03c9
[more] Allow method chaining
2015-09-24 11:29:49 +02:00
Max
8018369800
Add global tracking hook
2015-09-24 11:29:48 +02:00
d74a9067c0
[bonneannee] Command for the nextyear doesn't require argument anymore
2015-09-24 11:29:48 +02:00
d5f07ec338
Display a basic error to IM user on uncatched exception
2015-09-24 11:29:47 +02:00
Max
e915c4930c
Fix #2 ; Add chronopost and colis privé support
2015-09-24 11:29:47 +02:00
760da8ef61
tools.web: don't try to striphtml content that is not str or buffer
2015-09-24 11:29:47 +02:00
9b2bc27374
tools.web: restore Python3.3 behavior: don't check server certificate
2015-09-24 11:29:46 +02:00
8988dd0d41
striphtml: also convert ´ and collapse multiple space, as HTML display do
2015-09-24 11:29:46 +02:00
9fa8902f1a
Invalid fd are < 0, not only -1
2015-09-24 11:29:46 +02:00
beeb5573e1
Define class variables in __init__
2015-09-24 11:29:45 +02:00
ac3ed0d492
[alias] huge refactoring
2015-09-24 11:29:44 +02:00
9686f36522
Add a function to guess the closest word for a miss input
2015-09-24 11:29:44 +02:00
ec9481e65b
[networking] Add !title command to display the title of a page
2015-09-24 11:29:43 +02:00
e837f9c8e5
Improve formating of size function and test it
2015-09-24 11:29:43 +02:00
969210a723
[networking] Avoid exception when port is not defined on socket error
2015-09-24 11:29:37 +02:00
2b0593a51e
Add tool to calculate string distance
2015-09-23 18:06:21 +02:00
6147eef19b
[mediawiki] Help user find the article he want to read if it doesn't exist
2015-09-23 10:57:25 +02:00
67cd66b922
[mediawiki] Handle #
2015-09-23 10:57:25 +02:00
Max
710896f711
[suivi] Now using nemubot.tools.web for queries
2015-08-26 12:18:24 +02:00
Max
5b039edb62
Updated tracking module to support colissimo
2015-08-26 12:18:24 +02:00
d1c28fc4a3
[networking] New function to get a list of watched URL
2015-08-26 12:18:24 +02:00
c27540eb87
web: reduce timeout from 15 to 7 seconds
2015-08-26 12:18:23 +02:00
88a8e0fe59
web: can make POST request
2015-08-26 12:18:23 +02:00
0208a5d552
Allow socket to print messages
2015-08-26 12:18:23 +02:00
a00c354287
Add a factory to help connecting to servers
2015-08-26 12:18:22 +02:00
d269468287
Let consumer parse the message instead of server
2015-08-26 12:18:22 +02:00
a1ac7d480d
Split server message parsing from message retrieving
2015-08-26 12:18:22 +02:00
3c15d35fca
[alias] Dusting module
2015-08-26 12:18:21 +02:00