Ejemplo n.º 1
0
def prepareBroadcast():        
    NetworkUtils.cleanRoutes()
    ltspGW=NetworkUtils.ltspGW()
    if ltspGW!='0':
        NetworkUtils.addRoute('239.255.255.0', ltspGW)
    else:
        reactor.callLater(10, prepareBroadcast)
Ejemplo n.º 2
0
    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

        #Initialize classroom data
Ejemplo n.º 3
0
    def broadcast(self, url='', isDVD=False):
        from os.path import isfile
        if url=='DVD':
            isDVD=True
            url=''
        if not isDVD:
            if not isfile(url):
                return {'result':'Bad file'} 

        for i in NetworkUtils.all_interfaces():
            if i[0]!='lo':
                try:
                    self.classroom.CommandStack[i[1]].append(['rootClean','239.255.255.0',NetworkUtils.ltspGW()])
                except: #host not avaialble
                    pass              
        self.classroom.broadcast.clean_callbacks() 
        self.classroom.broadcast.add_callback('started',self.startbcast)
        self.classroom.broadcast.add_callback('ended',self.stopbcast)
        result=self.classroom.broadcast.transmit(url,isDVD)
        if result!=True:
            self.stopbcast
            return {'result':result}