diff options
| author | Jeffrey C. Ollie <jeff@ocjtech.us> | 2008-09-17 21:18:26 -0500 |
|---|---|---|
| committer | Jeffrey C. Ollie <jeff@ocjtech.us> | 2008-09-17 21:18:26 -0500 |
| commit | 2515c392b413ec6eefa6a737ce7868beb58ce255 (patch) | |
| tree | bc2a08189d76e3f2f0f0ab8953dee9ecfa746632 /twisted | |
| parent | 1b6d4b63008360b8117a791c4da73400fe0a38e6 (diff) | |
| download | nohgooee-2515c392b413ec6eefa6a737ce7868beb58ce255.tar.gz nohgooee-2515c392b413ec6eefa6a737ce7868beb58ce255.tar.xz nohgooee-2515c392b413ec6eefa6a737ce7868beb58ce255.zip | |
Switch to using a Twisted plugin rather than a .tac
Diffstat (limited to 'twisted')
| -rw-r--r-- | twisted/plugins/nohgooee_plugin.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/twisted/plugins/nohgooee_plugin.py b/twisted/plugins/nohgooee_plugin.py new file mode 100644 index 0000000..e8bf6d4 --- /dev/null +++ b/twisted/plugins/nohgooee_plugin.py @@ -0,0 +1,46 @@ +# -*- mode: python: coding: utf-8 -*- + +# The contents of this file are subject to the BitTorrent Open Source License +# Version 1.1 (the License). You may not copy or use this file, in either +# source code or executable form, except in compliance with the License. You +# may obtain a copy of the License at http://www.bittorrent.com/license/. +# +# Software distributed under the License is distributed on an AS IS basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. + +from NohGooee.platform import install_translation +install_translation() + +from zope.interface import implements + +from twisted.python import usage +from twisted.plugin import IPlugin +from twisted.application.service import IServiceMaker +from twisted.application import internet +from twisted.web import server + +from NohGooee.track import Tracker, InfoPage, Scrape, File, Announce, FavIcon +from NohGooee.config import NohgooeeOptions + +class NohgooeeTrackerMaker(object): + implements(IServiceMaker, IPlugin) + tapname = "nohgooee-tracker" + description = "Nohgooee BitTorrent Tracker" + options = NohgooeeOptions + + def makeService(self, options): + + tracker = Tracker(options) + root = InfoPage(tracker) + root.putChild('scrape', Scrape(tracker)) + root.putChild('file', File(tracker)) + root.putChild('announce', Announce(tracker)) + root.putChild('favicon.ico', FavIcon(tracker)) + + site = server.Site(root) + + return internet.TCPServer(8080, site) + +nohgooeeTrackerMaker = NohgooeeTrackerMaker() |
