コード例 #1
0
ファイル: db.py プロジェクト: always19/clutch
def get_experiment(app_id, slug):
    SQL = """
    SELECT E.*
    FROM ab_experiment E
    WHERE E.app_id = %s AND UPPER(E.slug) = UPPER(%s)
    """
    return db.fetchone(SQL, [app_id, slug])
コード例 #2
0
def get_dev_mode(app_id, user_id, date_updated):
    SQL = """
    SELECT D.*
    FROM dashboard_developmentmode D
    WHERE D.app_id = %s AND D.user_id = %s AND D.date_updated > %s
    """
    return db.fetchone(SQL, [app_id, user_id, date_updated])
コード例 #3
0
ファイル: db.py プロジェクト: always19/clutch
def get_dev_mode(app_id, user_id, date_updated):
    SQL = """
    SELECT D.*
    FROM dashboard_developmentmode D
    WHERE D.app_id = %s AND D.user_id = %s AND D.date_updated > %s
    """
    return db.fetchone(SQL, [app_id, user_id, date_updated])
コード例 #4
0
def get_experiment(app_id, slug):
    SQL = """
    SELECT E.*
    FROM ab_experiment E
    WHERE E.app_id = %s AND UPPER(E.slug) = UPPER(%s)
    """
    return db.fetchone(SQL, [app_id, slug])
コード例 #5
0
def get_app_version_for_bundle_version(app_id, bundle_version):
    SQL = """
    SELECT V.version
    FROM dashboard_version V
    WHERE
        app_id = %s AND
        (V.max_bundle <= %s OR V.max_bundle = '') AND
        (V.min_bundle >= %s OR V.min_bundle = '')
    ORDER BY V.version DESC
    """

    # Normalize the bundle version
    try:
        split_bundle = bundle_version.split('.')
        if not len(split_bundle) == 3:
            raise ValueError('Bundle is not three points')
        split_bundle = map(int, split_bundle)
        norm = '.'.join([str(i).zfill(5) for i in split_bundle])
    except ValueError:
        norm = ''

    resp = db.fetchone(SQL, [app_id, norm, norm])
    if resp:
        return resp['version']
    return 0
コード例 #6
0
ファイル: db.py プロジェクト: always19/clutch
def get_app_version_for_bundle_version(app_id, bundle_version):
    SQL = """
    SELECT V.version
    FROM dashboard_version V
    WHERE
        app_id = %s AND
        (V.max_bundle <= %s OR V.max_bundle = '') AND
        (V.min_bundle >= %s OR V.min_bundle = '')
    ORDER BY V.version DESC
    """

    # Normalize the bundle version
    try:
        split_bundle = bundle_version.split('.')
        if not len(split_bundle) == 3:
            raise ValueError('Bundle is not three points')
        split_bundle = map(int, split_bundle)
        norm = '.'.join([str(i).zfill(5) for i in split_bundle])
    except ValueError:
        norm = ''

    resp = db.fetchone(SQL, [app_id, norm, norm])
    if resp:
        return resp['version']
    return 0
コード例 #7
0
ファイル: db.py プロジェクト: always19/clutch
def get_user_from_creds(username, password):
    SQL = "SELECT U.* FROM auth_user U WHERE UPPER(U.username) = UPPER(%s)"
    user = db.fetchone(SQL, [username])
    if user is None:
        return None
    if not check_password(password, user['password']):
        return None
    return user
コード例 #8
0
ファイル: db.py プロジェクト: always19/clutch
def get_app_from_key(key):
    SQL = """
    SELECT A.*
    FROM dashboard_app A
    LEFT JOIN dashboard_appkey K ON (K.app_id = A.id)
    WHERE K.key = %s AND K.status = 'active'
    """
    return db.fetchone(SQL, [key])
コード例 #9
0
def get_user_from_creds(username, password):
    SQL = "SELECT U.* FROM auth_user U WHERE UPPER(U.username) = UPPER(%s)"
    user = db.fetchone(SQL, [username])
    if user is None:
        return None
    if not check_password(password, user['password']):
        return None
    return user
コード例 #10
0
def get_app_from_key(key):
    SQL = """
    SELECT A.*
    FROM dashboard_app A
    LEFT JOIN dashboard_appkey K ON (K.app_id = A.id)
    WHERE K.key = %s AND K.status = 'active'
    """
    return db.fetchone(SQL, [key])
コード例 #11
0
def get_app_from_user_and_slug(user_id, slug):
    SQL = """
    SELECT A.*
    FROM dashboard_app A
    WHERE UPPER(A.slug) = UPPER(%s) AND A.id IN (
        SELECT M.app_id FROM dashboard_member M where M.user_id = %s
    )
    """
    return db.fetchone(SQL, [slug, user_id])
コード例 #12
0
ファイル: db.py プロジェクト: always19/clutch
def get_app_from_user_and_slug(user_id, slug):
    SQL = """
    SELECT A.*
    FROM dashboard_app A
    WHERE UPPER(A.slug) = UPPER(%s) AND A.id IN (
        SELECT M.app_id FROM dashboard_member M where M.user_id = %s
    )
    """
    return db.fetchone(SQL, [slug, user_id])
コード例 #13
0
def get_latest_app_version(app_id):
    SQL = """
    SELECT V.version
    FROM dashboard_version V
    WHERE V.app_id = %s
    ORDER BY v.version DESC
    LIMIT 1
    """
    resp = db.fetchone(SQL, [app_id])
    if resp is None:
        return None
    return resp['version']
コード例 #14
0
ファイル: db.py プロジェクト: always19/clutch
def get_latest_app_version(app_id):
    SQL = """
    SELECT V.version
    FROM dashboard_version V
    WHERE V.app_id = %s
    ORDER BY v.version DESC
    LIMIT 1
    """
    resp = db.fetchone(SQL, [app_id])
    if resp is None:
        return None
    return resp['version']
コード例 #15
0
ファイル: db.py プロジェクト: always19/clutch
def get_device_for_udid_and_app(udid, app_id):
    SQL = """
    SELECT
        D.*,
        U.username,
        U.email
    FROM dashboard_device D
    LEFT JOIN auth_user U ON (U.id = D.user_id)
    WHERE D.udid = %s AND D.user_id IN (
        SELECT M.user_id FROM dashboard_member M WHERE M.app_id = %s
    )
    LIMIT 1
    """
    return db.fetchone(SQL, [udid, app_id])
コード例 #16
0
def get_device_for_udid_and_app(udid, app_id):
    SQL = """
    SELECT
        D.*,
        U.username,
        U.email
    FROM dashboard_device D
    LEFT JOIN auth_user U ON (U.id = D.user_id)
    WHERE D.udid = %s AND D.user_id IN (
        SELECT M.user_id FROM dashboard_member M WHERE M.app_id = %s
    )
    LIMIT 1
    """
    return db.fetchone(SQL, [udid, app_id])
コード例 #17
0
def get_user_from_id(user_id):
    SQL = "SELECT U.* FROM auth_user U WHERE U.id = %s"
    return db.fetchone(SQL, [user_id])
コード例 #18
0
ファイル: db.py プロジェクト: always19/clutch
def get_user_from_id(user_id):
    SQL = "SELECT U.* FROM auth_user U WHERE U.id = %s"
    return db.fetchone(SQL, [user_id])