Ejemplo n.º 1
0
    def post(self):
        """Notify subscribers that a service changed status."""

        address = self.request.get('address')
        service = Service.get(self.request.get('service'))
        oldstatus = Status.get(self.request.get('oldstatus'))
        number = self.request.get('number')

        logging.info("Service: %s" % service)
        logging.info("Service name: %s" % service.name)

        msg = "%s changed state from %s to %s (%s)" % (
                service.name, oldstatus.name,
                service.current_event().status.name,
                service.current_event().message)

        user = Subscription.get_by_email(address)
        if user.status == "available" or not number:
        	status_code = xmpp.send_message(address, msg)
    		chat_message_sent = (status_code == xmpp.NO_ERROR)
		logging.info("Notified: %s\nmessage: %s code: %d" % (address, msg, status_code))
        elif user.status == "unavailable" and number:
		sms = smsgw(to = number, msg = msg)
		sms.send()
		logging.info("Offline SMS: %s\nmessage: %s" % (number, msg))
Ejemplo n.º 2
0
 def txn():
     user = Subscription.get_by_email(from_jid)
     if user:
         user.is_friend = is_friend
         return user.put()
     else:
         return Subscription(key_name=hashlib.sha1(from_jid).hexdigest(),
                           address=from_jid, is_friend=is_friend).put()
Ejemplo n.º 3
0
        def txn():
            user = Subscription.get_by_email(from_jid)
            if user:
		if presence == "probe":
			return xmpp.send_presence(from_jid, presence_type=xmpp.PRESENCE_TYPE_PROBE)
		else:
	                user.status = presence
        	        return user.put()
Ejemplo n.º 4
0
    def get(self):
        if users.get_current_user() is None:
            self.redirect(users.create_login_url(         self.request.uri))
            return 
           
        user_address = users.get_current_user().email()
        user = Subscription.get_by_email(user_address)
	if user.address in settings.XMPP_FILTER:
            if user.status == "available":
                xmpp.send_message(user_address, "test msg")
                self.response.out.write("A message sent.")
            elif user.status == "unavailable":
                self.response.out.write("The user is offline.")
	    else:
		self.response.out.write("unkown status: %" % user.status)
        else:
            xmpp.send_invite(user_address)
            self.response.out.write("An invitation sent.")