Example #1
0
    def __init__(self):
        Resource.__init__(self)
        ami.connect()
        self.call_manager = CallManager()
        our_dir = os.path.dirname(os.path.dirname(obelisk.__file__))
        ami.connector.registerEvent('CEL', self.call_manager.on_event)
        self.putChild("voip", PeersResource())
        self.putChild("prices", PricesResource())
        self.putChild("voicemail", VoiceMailResource())
        self.putChild("user", UserResource())
        self.putChild("sse", SSEResource())
        self.putChild("calls", CallsResource())
        self.putChild("password", ChangePassResource())
        self.putChild("credit", CreditResource())
        self.putChild("register", RegisterResource())
        self.putChild("options", OptionsResource())
        self.putChild("stats", StatsResource())
        self.putChild("providers", ProvidersResource())
        self.putChild("login", LoginResource())
        self.putChild("logout", LogoutResource())
        self.putChild("admin", AdminResource())
        self.putChild("docs", DocsResource())
        self.putChild("icons", File("/usr/share/icons"))
        self.putChild("tpl", File(os.path.join(our_dir, "templates")))
        self.putChild("sip", File("/home/lluis/tst_sip_gui"))
        self.putChild("jssip", File("/home/caedes/jssip"))
        self.putChild(
            "favicon.ico",
            File(os.path.join(our_dir, "templates", "telephone_icon.ico")))
        self.putChild("tinc", TincResource())
        self.putChild("dundi", DundiResource())
        self.putChild("pln", PLNResource())
        self.putChild("btcin", BtcInResource())
        if 'pln' in obelisk.config.config:
            pln_name = obelisk.config.config['pln']['name']
            self.putChild(pln_name, Redirect('/tinc/pubkey'))
            self.putChild(pln_name + '.pub', Redirect('/dundi/pubkey'))
        self.putChild('node.json', Redirect('/pln/node.json'))

        reactor.callLater(2, reactor.callInThread, self.get_winners)
        reactor.callLater(4, reactor.callInThread, self.get_channel_test)
        self.channel_tester = TestChannels()
        # start running the ticker
        ticker.ticker()