def UpdateGCM(self,instanttype,ohurl): bid = self.request.get("bid") bname = self.request.get("bname") regid = self.request.get("regid") message = self.request.get("message") atplace = self.request.get("atplace") timestamp = datetime.datetime.now() userid = self.user_id userDetails = self.current_user push_query = GcmData.query(GcmData.bid == bid) pushes = push_query.fetch(1) registration_ids = [] for push in pushes: instants = push.instants if len(instants) > 20: del instants[-1] instant = InstantMesg(message = message,atplace = atplace,userid=self.user_id,timestamp = timestamp,instanttype = instanttype,ohid = ohurl) instants.append(instant) push.instants = instants push.put() secs = calendar.timegm(timestamp.timetuple()) #querry databse for registration ids user_query = User.query(User.instants.gcm_bids == bid) users = user_query.fetch() for user in users: if user.key.id() != self.user_id: registration_ids.append(user.instants.gcm_regid) logging.info("%s" %registration_ids) if len(registration_ids) == 0: self.response.write("") return Bodyfields = { "data": {"live":message,"username":userDetails.name,"bid":bid,"bname":bname,"atplace":atplace,"timestamp":secs,"instanttype":instanttype,'ohurl':ohurl}, "registration_ids": registration_ids } result = urlfetch.fetch(url="https://android.googleapis.com/gcm/send", payload=json.dumps(Bodyfields), method=urlfetch.POST, headers={'Content-Type': 'application/json','Authorization': 'key=AIzaSyBNnXeISW8-KfETBKE-r0ASytx4WyC6NTk'}) #self.response.out.write('Server response, status: ' + result.content ) return result