Пример #1
0
    def thread_sender(self, mobile_numbers_to_send, json_data, priority,
                      sourceip, xforwardedfor):
        if isinstance(sourceip, tuple):
            sourceip = str(sourceip[0])
        if isinstance(xforwardedfor, tuple):
            xforwardedfor = str(xforwardedfor[0])

        for targetnr in mobile_numbers_to_send:
            # this is used for parameter extraction
            # Create sms data object and make sure that it has a smsid
            sms_uuid = str(uuid.uuid1())
            sms = Smstransfer(content=json_data.get('content'),
                              targetnr=targetnr,
                              priority=priority,
                              appid=json_data.get('appid'),
                              sourceip=sourceip,
                              xforwardedfor=xforwardedfor,
                              smsid=sms_uuid)

            smsgwglobals.wislogger.debug("WIS: sendsms interface " +
                                         str(sms.getjson()))

            # process sms to insert it into database
            try:
                Helper.processsms(sms)
                smsid = sms.smstransfer["sms"]["smsid"]
                SMS_QUEUE.put(smsid)
            except apperror.NoRoutesFoundError:
                self.triggerwatchdog()
                pass
            except apperror.NotAllowedTimeFrame:
                self.triggerwatchdog()
                pass
Пример #2
0
    def sendsms(self, **params):

        # this is used for parameter extraction
        # Create sms data object
        sms = Smstransfer(content=cherrypy.request.params.get('content'),
                          targetnr=cherrypy.request.params.get('mobile'),
                          priority=int(cherrypy.request.params.get('priority')),
                          appid=cherrypy.request.params.get('appid'),
                          sourceip=cherrypy.request.headers.get('Remote-Addr'),
                          xforwardedfor=cherrypy.request.headers.get(
                              'X-Forwarded-For'))

        # check if parameters are given
        resp = XMLResponse()
        if not sms.smsdict["content"]:
            self.triggerwatchdog()
            return resp.errorxml("0001")
        if not sms.smsdict["targetnr"]:
            self.triggerwatchdog()
            return resp.errorxml("0001")
        if not sms.smsdict["priority"]:
            self.triggerwatchdog()
            return resp.errorxml("0001")

        smsgwglobals.wislogger.debug(sms.getjson())

        # process sms to insert it into database
        try:
            Helper.processsms(sms)
        except apperror.NoRoutesFoundError:
            self.triggerwatchdog()
            return resp.errorxml("0001")

        self.triggerwatchdog()
        return resp.successxml("0001")
Пример #3
0
    def sendsms(self, **params):

        # all parameters to lower case
        cherrypy.request.params = dict([(x[0].lower(), x[1]) for x in cherrypy.request.params.items()])

        priority = 1
        if 'priority' in cherrypy.request.params:
            priority = int(cherrypy.request.params.get('priority'))

        # this is used for parameter extraction
        # Create sms data object and make sure that it has a smsid
        sms = Smstransfer(content=cherrypy.request.params.get('content'),
                          targetnr=cherrypy.request.params.get('mobile'),
                          priority=priority,
                          appid=cherrypy.request.params.get('appid'),
                          sourceip=cherrypy.request.headers.get('Remote-Addr'),
                          xforwardedfor=cherrypy.request.headers.get(
                              'X-Forwarded-For'),
                          smsid=str(uuid.uuid1()))

        # check if parameters are given
        resp = XMLResponse()
        if not sms.smsdict["content"]:
            self.triggerwatchdog()
            return resp.errorxml("0001")
        if not sms.smsdict["targetnr"]:
            self.triggerwatchdog()
            return resp.errorxml("0001")
        if not sms.smsdict["priority"]:
            self.triggerwatchdog()
            return resp.errorxml("0001")

        smsgwglobals.wislogger.debug("WIS: sendsms iterface " + str(sms.getjson()))

        # process sms to insert it into database
        try:
            Helper.processsms(sms)
        except apperror.NoRoutesFoundError:
            self.triggerwatchdog()
            return resp.errorxml("0001")

        self.triggerwatchdog()
        return resp.successxml("0001")