def send_arbitrary_gcm(): results = {} db = dbo.get_instance() data = json.loads(request.data) # 2. 필요한 인자들이 다 들어왔는가 검사한다. arguments = ["username", "message"] data_keys = data.keys() for argument in arguments: if argument not in data_keys: raise abort(400) message = dict(type="system", comment=unicode(data["message"])) user = db.query(Operator).filter_by(username=data["username"]).first() if not user: raise abort(404) android_push.apply_async(args=[user.uuid, message]) return jsonify(results), 200
db.add(notification) db.flush() except Exception, e: print str(e) dbo.abort() raise abort(500) # 모두에게 GCM을 날린다. users = db.query(Operator).all() if users: uuids = map(lambda x : x.uuid, users) message = dict(type="NOTIFICATION_CREATE_MASTER_ALL", title=notification.title, \ content=notification.content, \ reg_date=unicode((time.mktime(notification.created_at.timetuple())))) android_push.apply_async(args = [uuids, message]) results["notification"] = notification.serialize(exclude=["author"]) try: db.commit() except Exception, e: print "EXCEPTION OCCUR DURING COMMIT : {0}".format(str(e)) dbo.abort() db.rollback() return jsonify(results), 200 # 구현완료 @notification_blueprint.route("/notification/update/<int:idx>/", methods=["PUT"]) @login_required
def test_gcm(): android_push.apply_async(args=["dummyuuid", u"123456"]) do_recognize_session.apply_async(args=[1, 2]) return jsonify({}), 200
db.add(p) except Exception, e: print str(e) dbo.abort() raise abort(500) master = db.query(Operator).filter_by(is_master=True).first() if not master: #말도 안되 raise abort(500) #마스터에게 GCM을 보낸다. message = dict(type="POINT_WITHDRAW_REQUEST_USER_MASTER", username=user.username, \ price=unicode(rw.how_much), \ reg_date=unicode(time.mktime(rw.created_at.timetuple()))) android_push.apply_async(args=[master.uuid, message]) results["request_withdraw"] = rw.serialize() try: db.commit() except Exception, e: print "EXCEPTION OCCUR DURING COMMIT : {0}".format(str(e)) dbo.abort() db.rollback() return jsonify(results), 200 # 개발완료 # 중요모듈이므로 검증 요망 @point_blueprint.route("/point/withdraw/end/", methods=["POST"])