Ejemplo n.º 1
0
    Configs.PORT = NetworkUtils.getUsableTCPPort("localhost", PORT)
    MyUtils.putLauncher('', Configs.PORT, isTeacher)

    if not isTeacher:
        from twisted.internet import glib2reactor
        glib2reactor.install()
    from twisted.internet import reactor
    from twisted.web import server
    
    ######### Begin the application loop #######
    if  isTeacher:
        logging.getLogger().debug("The user is a teacher")
        from ControlAula import TeacherMainLoop, Classroom
        from ControlAula.Utils  import Publications

        NetworkUtils.getWirelessData()
        if MyUtils.isLTSPServer():
            externalIP = NetworkUtils.get_ip_inet_address(NetworkUtils.ltspGW())
        else:
            externalIP = NetworkUtils.get_ip_inet_address()
        if externalIP == '':
            externalIP = NetworkUtils.get_ip_inet_address('192.168.0.254')
        service = Publications.Publications(port = Configs.PORT, name = USERNAME + '@' + HOSTNAME, text = ["ipINET=" + externalIP, "web=" + str(Configs.PORT), "classroomname=" + Configs.RootConfigs['classroomname']])
        service_controlies = Publications.Publications(stype = "_controlaula._udp", port = Configs.PORT, name = USERNAME + '@' + HOSTNAME, text = ["ipINET=" + externalIP, "web=" + str(Configs.PORT), "classroomname=" + Configs.RootConfigs['classroomname']])
        service_controlies.publish()
        try:  # in case cache are filled with a previous "bad stopped" instance of controlaula
            service.unpublish()
            service_controlies.unpublish()
            sleep(0.1)
        except:
            pass