def setUp(self): self.server = nntp.NNTPServer() self.server.factory = self self.backend = database.NewsShelf(None, 'news.db') self.backend.addGroup('alt.test.nntp', 'y') for s in SUBSCRIPTIONS: self.backend.addSubscription(s) self.client = TestNNTPClient()
def setUp(self): self.server = nntp.NNTPServer() self.server.factory = self self.backend = database.NewsShelf(None, 'news.db') self.backend.addGroup('alt.test.nntp', 'y') for s in SUBSCRIPTIONS: self.backend.addSubscription(s) self.transport = proto_helpers.StringTransport() self.server.makeConnection(self.transport) self.client = TestNNTPClient()
def makeService(config): if not len(config.groups): raise usage.UsageError("No newsgroups specified") db = database.NewsShelf(config['mailhost'], config['datadir']) for (g, m) in config.groups: if m: db.addGroup(g, 'm') db.addModerator(g, m) else: db.addGroup(g, 'y') for s in config.subscriptions: print s db.addSubscription(s) s = config['port'] if config['interface']: # Add a warning here s += ':interface=' + config['interface'] return strports.service(s, news.UsenetServerFactory(db, config.servers))
def setUp(self): self.backend = database.NewsShelf(None, 'news2.db') self.backend.addGroup('alt.test.nntp', 'y') self.backend.postRequest(POST_STRING.replace('\n', '\r\n'))
from twisted.internet import reactor from twisted.news import database, news, nntp GROUPS = [ 'local.programming', 'local.programming.python', 'local.knitting', ] SMTP_SERVER = 'upstream-server.com' STORAGE_DIR = 'storage' newsStorage = database.NewsShelf(SMTP_SERVER, STORAGE_DIR) for group in GROUPS: newsStorage.addGroup(group, []) factory = news.NNTPFactory(newsStorage) reactor.listenTCP(119, factory) reactor.run()