ef4a6e9af5
Fix module unloading
2017-07-30 17:41:16 +02:00
9d0ab88c12
Store module into weakref
2017-07-30 17:41:16 +02:00
76bea2bc15
datastore/xml: handle entire file save and be closer with new nemubot XML API
2017-07-30 17:40:36 +02:00
c8afa65dcb
tools/xmlparser: implement writer
2017-07-30 16:45:45 +02:00
bc183bcfa0
tools/web: new option decode_error to decode non-200 page content (useful on REST API)
2017-07-26 10:57:09 +02:00
0d52fff64a
tools/web: display socket timeout
2017-07-26 10:56:55 +02:00
f633a3effe
socket: limit getaddrinfo to TCP connections
2017-07-19 10:36:28 +02:00
94ff951b2e
run: recreate the sync_queue on run, it seems to have strange behaviour when created before the fork
2017-07-19 10:36:28 +02:00
a5479d7b0d
event: ensure that enough consumers are launched at the end of an event
2017-07-19 10:36:28 +02:00
67cb3caa95
main: new option -A to run as daemon
2017-07-19 10:36:27 +02:00
2265e1a096
Use getaddrinfo to create the right socket
2017-07-19 10:36:27 +02:00
b6945cf81c
Try to restaure frm_owner flag
2017-07-19 10:36:27 +02:00
e8809b77d2
When launched in daemon mode, attach to the socket
2017-07-19 10:36:27 +02:00
9d446cbd14
Deamonize later
2017-07-19 10:36:27 +02:00
cde4ee05f7
Local client now detects when server close the connection
2017-07-19 10:36:27 +02:00
ac0cf729f1
Fix communication over unix socket
2017-07-19 10:36:27 +02:00
35e0890563
Handle multiple SIGTERM
2017-07-19 10:36:27 +02:00
0be6ebcd4b
tools/web: fill a default Content-Type in case of POST
2017-07-19 10:36:26 +02:00
b4218478bd
tools/web: improve redirection reliability
2017-07-19 10:36:26 +02:00
6ac9fc4857
tools/web: forward all arguments passed to getJSON and getXML to getURLContent
2017-07-19 10:36:26 +02:00
7791f24423
modulecontext: use inheritance instead of conditional init
2017-07-16 21:17:48 +02:00
b809451be2
Avoid stack-trace and DOS if event is not well formed
2017-07-16 21:17:48 +02:00
8de31d784b
Allow module function to be generators
2017-07-16 21:17:48 +02:00
f4216af7c7
Parse server urls using parse_qs
2017-07-16 21:17:48 +02:00
cf8e1cffc5
Format and typo
2017-07-16 21:17:48 +02:00
97a1385903
Implement socket server subparse
2017-07-16 21:17:48 +02:00
764e6f070b
Refactor file/socket management (use poll instead of select)
2017-07-16 21:17:48 +02:00
6d8dca211d
Use fileno instead of name to index existing servers
2017-07-16 21:17:48 +02:00
1c21231f31
Use super() instead of parent class name
2017-07-16 21:17:48 +02:00
2a3cd07c63
Documentation
2017-07-16 21:17:48 +02:00
b5d5a67b2d
In debug mode, display running thread at exit
2017-07-16 21:17:48 +02:00
4c11c5e215
Handle case where frm and to have not been filled
2017-07-16 21:17:48 +02:00
a0c3f6d2b3
Review consumer errors
2017-07-16 21:17:48 +02:00
7cf73fb84a
Remove reload feature
...
As reload shoudl be done in a particular order, to keep valid types, and because maintaining such system is too complex (currently, it doesn't work for a while), now, a reload is just reload configuration file (and possibly modules)
2017-07-16 21:17:48 +02:00
6cd299ab60
New keywords class that accepts any keywords
2017-07-16 21:17:48 +02:00
24eb9a6911
Can attach to the main process
2017-07-16 21:17:48 +02:00
38fd9e5091
Remove legacy prompt
2017-07-14 12:35:55 +02:00
a7d7013639
Fix and improve reload process
2017-07-14 12:35:55 +02:00
9dc385a32a
New argument: --socketfile that create a socket for internal communication
2017-07-14 12:35:55 +02:00
150d069dfb
New CLI argument: --pidfile, path to store the daemon PID
2017-07-14 12:35:55 +02:00
f160411f71
Catch SIGUSR1: log threads stack traces
2017-07-14 12:35:55 +02:00
b0678ceb84
Extract deamonize to a dedicated function that can be called from anywhere
2017-07-14 12:35:55 +02:00
57275f5735
Catch SIGHUP: deep reload
2017-07-14 12:35:55 +02:00
ec512fc540
Do a proper close on SIGINT and SIGTERM
2017-07-14 12:35:55 +02:00
7bc37617b0
Remove prompt at launch
2017-07-14 12:35:55 +02:00
1858a045cc
Introducing daemon mode
2017-07-14 12:35:55 +02:00
aefc0bb534
event: don't forward d_init if None
2017-07-14 09:32:41 +02:00
e9cea5d010
Fix events expiration
2016-07-29 03:13:37 +02:00
358499e6d5
Expect IM keyword argument in command to be at the begining of the args list
2016-04-18 17:21:51 +02:00
5fae67255b
Log Python version
2016-04-08 12:55:24 +02:00