Revisión 93
Añadido por Manu Mora Gordillo hace alrededor de 14 años
Server.py | ||
---|---|---|
#Root.PageDir='/home/chisco/Proyectos/controlies/www'
|
||
site = server.Site(Root)
|
||
|
||
fileName = '/tmp/controlIES.ltpsSevers'
|
||
fileNameServers = '/tmp/controlIES.ltpsSevers'
|
||
if os.path.isfile(fileNameServers):
|
||
os.remove(fileNameServers)
|
||
|
||
if os.path.isfile(fileName):
|
||
os.remove(fileName)
|
||
f = open(fileNameServers, 'w')
|
||
|
||
|
||
fileNameTeachers = '/tmp/controlIES.ltpsTeachers'
|
||
if os.path.isfile(fileNameTeachers):
|
||
os.remove(fileNameTeachers)
|
||
|
||
f = open(fileNameTeachers, 'w')
|
||
|
||
|
||
def _add_locationServers(self, name, address, port):
|
||
print name
|
||
computerToAdd = name.split(" ")
|
||
f = open(fileNameServers, 'a')
|
||
f.write(computerToAdd[0]+" ")
|
||
f.close()
|
||
|
||
|
||
f = open(fileName, 'w')
|
||
def _remove_locationServers(self, name, address, port):
|
||
computerToDelete = name.split(" ")
|
||
f = open(fileNameServers, 'r')
|
||
computersList = f.read()
|
||
f.close()
|
||
#print "computer list "+computerlist
|
||
#print "computer to delete "+computerToDelete[0]
|
||
computersList.replace(computerToDelete[0]+" ","")
|
||
|
||
#print "computer list "+computerList
|
||
|
||
f = open(fileNameServers, 'w')
|
||
f.write(computersList)
|
||
f.close()
|
||
|
||
def _add_location(self, name, address, port):
|
||
f = open(fileName, 'r+')
|
||
f.write(name)
|
||
|
||
def _add_locationTeachers(self, name, address, port):
|
||
print name
|
||
teacherToAdd = name.split(" ")
|
||
f = open(fileNameTeachers, 'a')
|
||
f.write(teacherToAdd[0]+" ")
|
||
f.close()
|
||
print "add"
|
||
|
||
|
||
def _remove_location(self, name, address, port):
|
||
print "remove"
|
||
#remove ipv6 entries:
|
||
if address.find(":") == -1:
|
||
print "removed:" + name,address,port
|
||
def _remove_locationTeachers(self, name, address, port):
|
||
teacherToDelete = name.split(" ")
|
||
f = open(fileNameTeachers, 'r')
|
||
teachersList = f.read()
|
||
f.close()
|
||
#print "computer list "+computerlist
|
||
#print "computer to delete "+computerToDelete[0]
|
||
teachersList.replace(teacherToDelete[0]+" ","")
|
||
|
||
#print "computer list "+computerList
|
||
|
||
f = open(fileNameTeachers, 'w')
|
||
f.write(teachersList)
|
||
f.close()
|
||
|
||
|
||
try:
|
||
_monitor = avahiClient('_workstation._tcp')
|
||
_monitor.add_callback('new-service', _add_locationServers)
|
||
_monitor.add_callback('remove-service', _remove_locationServers)
|
||
_monitor.start()
|
||
|
||
except Exception, ex:
|
||
error_msg = "Couldn't initialize Avahi monitor: %s" % str(ex)
|
||
#raise InitializeFailure(self.name, error_msg)
|
||
|
||
|
||
try:
|
||
_monitor = avahiClient()
|
||
_monitor.add_callback('new-service', _add_location)
|
||
_monitor.add_callback('remove-service', _remove_location)
|
||
_monitor = avahiClient('_controlaula._tcp')
|
||
_monitor.add_callback('new-service', _add_locationTeachers)
|
||
_monitor.add_callback('remove-service', _remove_locationTeachers)
|
||
_monitor.start()
|
||
|
||
except Exception, ex:
|
||
error_msg = "Couldn't initialize Avahi monitor: %s" % str(ex)
|
||
#raise InitializeFailure(self.name, error_msg)
|
||
|
||
|
||
from twisted.internet import reactor
|
||
|
||
reactor.listenTCP(7778,site)
|
Exportar a: Unified diff
Avahi: ya detecta ltpsServers y profesores