public
Description: A Python RSS/Atom -> NNTP gateway
Homepage: http://www.wragg.org/pnntprss/
Clone URL: git://github.com/dpw/pnntprss.git
pnntprss / nntpserver.py
100755 26 lines (20 sloc) 0.588 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/python
#
# A trivial NNTP server process. Hands off to NNTPServer to process
# the connections.
 
import socket, sys, os, signal
 
import nntp
 
signal.signal(signal.SIGCHLD, signal.SIG_IGN)
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('', 4321))
s.listen(1)
 
while True:
    conn, addr = s.accept()
    pid = os.fork()
    if pid > 0:
        conn.close()
    else:
        nntp.NNTPServer(input=conn.makefile('r'), output=conn.makefile('w')).process_commands()
        conn.close()
        sys.exit(0)