コード例 #1
0
ファイル: api_user.py プロジェクト: dbeucke/total-impact-core
def register_item(alias, api_key, myredis, mydao):
    if not is_valid_key(api_key):
        raise InvalidApiKeyException
    if is_registered(alias, api_key):
        raise ItemAlreadyRegisteredToThisKey

    registered_item = None
    (namespace, nid) = alias
    tiid = item.get_tiid_by_alias(namespace, nid, mydao)
    if not tiid:
        if is_over_quota(api_key):
            analytics.track("CORE", "Raised Exception", {
                "exception class": "ApiLimitExceededException",
                "api_key": api_key
                })
            raise ApiLimitExceededException
        else:
            tiid = item.create_item(namespace, nid, myredis, mydao)
            analytics.identify(api_key, {"name": api_key, 
                                        "api_user": True})
            analytics.track(api_key, "Created item because of registration", {
                "tiid": tiid,
                "namespace": namespace,
                "nid": nid,
                "api_key": api_key
                })

    api_user = get_api_user(api_key)
    if api_user:
        registered_item = save_registered_item(alias, api_user)
    return {"tiid":tiid, "registered_item":registered_item}
コード例 #2
0
def register_item(alias, api_key, myredis, mydao):
    if not is_valid_key(api_key):
        raise InvalidApiKeyException
    if is_registered(alias, api_key):
        raise ItemAlreadyRegisteredToThisKey

    registered_item = None
    (namespace, nid) = alias
    tiid = item.get_tiid_by_alias(namespace, nid, mydao)
    if not tiid:
        if is_over_quota(api_key):
            analytics.track("CORE", "Raised Exception", {
                "exception class": "ApiLimitExceededException",
                "api_key": api_key
            })
            raise ApiLimitExceededException
        else:
            tiid = item.create_item(namespace, nid, myredis, mydao)
            analytics.identify(api_key, {"name": api_key, "api_user": True})
            analytics.track(
                api_key, "Created item because of registration", {
                    "tiid": tiid,
                    "namespace": namespace,
                    "nid": nid,
                    "api_key": api_key
                })

    api_user = get_api_user(api_key)
    if api_user:
        registered_item = save_registered_item(alias, api_user)
    return {"tiid": tiid, "registered_item": registered_item}
コード例 #3
0
ファイル: api_user.py プロジェクト: karthik/total-impact-core
def register_item(alias, api_key, myredis, mydao):
    if not is_valid_key(api_key, mydao):
        raise InvalidApiKeyException
    if is_registered(alias, api_key, mydao):
        raise ItemAlreadyRegisteredToThisKey

    (namespace, nid) = alias
    tiid = item.get_tiid_by_alias(namespace, nid, mydao)
    if not tiid:
        if is_over_quota(api_key, mydao):
            raise ApiLimitExceededException
        else:
            tiid = item.create_item(namespace, nid, myredis, mydao)
    registered = add_registration_data(alias, tiid, api_key, mydao)
    if registered:
        mixpanel.track("Create:Register", {"Namespace":namespace, 
                                            "API Key":api_key})

    return tiid