55e6550cb1
tools/web: factorize getNormalizedURL
2015-10-13 16:23:55 +02:00
68e357d037
Initialize an empty module configuration if it has any (sentinel value)
2015-10-13 16:23:35 +02:00
20105e7d98
tools/web: add a URL normalizer function
2015-10-12 13:10:58 +02:00
7102e08000
tools/feed: hardened parser
2015-10-10 23:20:52 +02:00
04dcf07fb2
tools/web: use standard unescape instead of custom function when available
2015-10-09 17:56:34 +02:00
fd8567c60c
Fix module unload and reload
2015-10-08 18:28:49 +02:00
Max
c55e66dd70
[tools/web] Add header param to getContentUrl()
...
Add the possibility to specify headers when querying websites.
2015-10-08 02:47:42 +01:00
684806baaf
Help command: skip discovery of command without name
2015-10-07 18:22:01 +02:00
ff2911dbd3
Add a subtreat method in modulecontext
...
This feature allows module to call the message treatment process on a crafted message
2015-10-07 18:22:01 +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
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
a4f4bb799c
Extract atom from networking module to core
2015-09-28 11:53:29 +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
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
d5f07ec338
Display a basic error to IM user on uncatched exception
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
9686f36522
Add a function to guess the closest word for a miss input
2015-09-24 11:29:44 +02:00
e837f9c8e5
Improve formating of size function and test it
2015-09-24 11:29:43 +02:00
2b0593a51e
Add tool to calculate string distance
2015-09-23 18:06:21 +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
787a5fd3da
Web tool raise more IRCException
2015-08-26 12:17:21 +02:00
000c67e45e
Can return Response in help_full function
2015-08-26 12:17:21 +02:00
ae4a303554
Fix #74
2015-08-26 12:17:21 +02:00
26515677b8
Don't add new event after main thread stop
2015-08-26 12:17:12 +02:00
92895a7b1d
XML parser: perform atomic save by moving a temporary file after the serialization
2015-06-24 20:06:01 +02:00
c7706bfc97
XML datastore: load will now automatically try to load backup
2015-06-24 20:06:00 +02:00
ab2eb405ca
XML datastore: add file rotation for backup purpose
2015-06-24 20:05:59 +02:00
9cf4b9becb
Fix bot close
...
Tell consumer to stop their work
Avoid error when select on closed fd
2015-06-24 20:05:56 +02:00
f4a80e0fda
New function in ModuleContext: call_hook
2015-06-24 20:05:54 +02:00
c86031ea32
Can use print with non string
2015-06-24 20:05:53 +02:00
c1858fff3a
Catch exception during module loading: just skip the module registration
2015-06-03 18:01:50 +02:00
fc500bc853
Tools.Web: fix charset detection on webpages
2015-06-03 15:30:26 +02:00
500e3a6e01
Compatibly with Python 3.4
2015-05-26 12:33:28 +02:00