refactoring: using xml params part IV (default values)

- File Transfert/IP is now set by default to the ip externally visible
This commit is contained in:
Goffi 2009-11-08 00:11:00 +01:00
commit b772500c91

View file

@ -59,8 +59,9 @@ from logging import debug, info, error
from twisted.internet import protocol, reactor
from twisted.protocols.basic import FileSender
from twisted.words.xish import domish
from twisted.web.client import getPage
import struct
from binascii import hexlify
import urllib
import hashlib, pdb
from zope.interface import implements
@ -454,12 +455,12 @@ class XEP_0065(XMPPHandler):
params = """
<params>
<category name="File Transfert">
<param name="IP" value="192.168.0.10" type="string" />
<param name="IP" value='0.0.0.0' default_cb='yes' type="string" />
<param name="Port" value="28915" type="string" />
</category>
</params>
"""
def __init__(self, host):
info("Plugin XEP_0065 initialization")
self.host = host
@ -467,11 +468,16 @@ class XEP_0065(XMPPHandler):
self.server_factory = Socks5ServerFactory()
self.server_factory.protocol.host = self.host #needed for progress CB
self.client_factory = Socks5ClientFactory()
host.memory.import_params(self, XEP_0065.params)
host.memory.importParams(self, XEP_0065.params)
host.memory.setDefault("IP", "File Transfert", self.getExternalIP)
port = int(self.host.memory.getParamV("Port", "File Transfert"))
info("Launching Socks5 Stream server on port %d", port)
reactor.listenTCP(port, self.server_factory)
def getExternalIP(self):
"""Return IP visible from outside, by asking to a website"""
return getPage("http://www.goffi.org/sat_tools/get_ip.php")
def connectionInitialized(self):
self.xmlstream.addObserver(BS_REQUEST, self.getFile)