Exemplo n.º 1
0
Arquivo: gcm.py Projeto: erynet/sadari
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
Exemplo n.º 2
0
            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
Exemplo n.º 3
0
def test_gcm():
    android_push.apply_async(args=["dummyuuid", u"123456"])
    do_recognize_session.apply_async(args=[1, 2])
    return jsonify({}), 200
Exemplo n.º 4
0
            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"])