summaryrefslogtreecommitdiffstats
path: root/twisted
diff options
context:
space:
mode:
authorJeffrey C. Ollie <jeff@ocjtech.us>2008-09-17 21:18:26 -0500
committerJeffrey C. Ollie <jeff@ocjtech.us>2008-09-17 21:18:26 -0500
commit2515c392b413ec6eefa6a737ce7868beb58ce255 (patch)
treebc2a08189d76e3f2f0f0ab8953dee9ecfa746632 /twisted
parent1b6d4b63008360b8117a791c4da73400fe0a38e6 (diff)
downloadnohgooee-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.py46
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()