Example #1
0
def subscription_put():
    card = flask.request.json.get('card')
    email = flask.request.json.get('email')
    cancel = flask.request.json.get('cancel')

    try:
        if cancel:
            response = utils.request.delete(SUBSCRIPTION_SERVER,
                json_data={
                    'license': settings.app.license,
                },
            )
        else:
            response = utils.request.put(SUBSCRIPTION_SERVER,
                json_data={
                    'license': settings.app.license,
                    'card': card,
                    'email': email,
                },
            )
    except httplib.HTTPException:
        return utils.jsonify({
            'error': SUBSCRIPTION_SERVER_ERROR,
            'error_msg': SUBSCRIPTION_SERVER_ERROR_MSG,
        }, 500)

    if response.status_code != 200:
        return utils.jsonify(response.json(), response.status_code)

    subscription.update()
    return utils.jsonify(subscription.dict())
Example #2
0
def subscription_put():
    card = flask.request.json.get('card')
    email = flask.request.json.get('email')
    cancel = flask.request.json.get('cancel')

    try:
        if cancel:
            response = utils.request.delete(
                SUBSCRIPTION_SERVER,
                json_data={
                    'license': settings.app.license,
                },
            )
        else:
            response = utils.request.put(
                SUBSCRIPTION_SERVER,
                json_data={
                    'license': settings.app.license,
                    'card': card,
                    'email': email,
                },
            )
    except httplib.HTTPException:
        return utils.jsonify(
            {
                'error': SUBSCRIPTION_SERVER_ERROR,
                'error_msg': SUBSCRIPTION_SERVER_ERROR_MSG,
            }, 500)

    if response.status_code != 200:
        return utils.jsonify(response.json(), response.status_code)

    subscription.update()
    return utils.jsonify(subscription.dict())
Example #3
0
def _subscription_thread():
    while True:
        try:
            yield interrupter_sleep(SUBSCRIPTION_UPDATE_RATE)
            subscription.update()
        except GeneratorExit:
            raise
        except:
            logger.exception('Error in subscription thread', 'runners')
Example #4
0
def _subscription_thread():
    while True:
        try:
            yield interrupter_sleep(SUBSCRIPTION_UPDATE_RATE)
            subscription.update()
        except GeneratorExit:
            raise
        except:
            logger.exception('Error in subscription thread', 'runners')
Example #5
0
def subscription_get():
    if settings.app.demo_mode:
        resp = utils.demo_get_cache()
        if resp:
            return utils.jsonify(resp)

    subscription.update()
    resp = subscription.dict()
    if settings.app.demo_mode:
        utils.demo_set_cache(resp)
    return utils.jsonify(resp)
Example #6
0
def subscription_styles_get(plan, ver):
    try:
        styles = settings.local.sub_styles[plan]
    except KeyError:
        subscription.update()
        styles = settings.local.sub_styles[plan]

    return utils.styles_response(
        styles['etag'],
        styles['last_modified'],
    )
def subscription_get():
    if settings.app.demo_mode:
        resp = utils.demo_get_cache()
        if resp:
            return utils.jsonify(resp)

    subscription.update()
    resp = subscription.dict()
    if settings.app.demo_mode:
        utils.demo_set_cache(resp)
    return utils.jsonify(resp)
Example #8
0
def subscription_styles_get(plan, ver):
    try:
        styles = settings.local.sub_styles[plan]
    except KeyError:
        subscription.update()
        styles = settings.local.sub_styles[plan]

    return utils.styles_response(
        styles['etag'],
        styles['last_modified'],
        styles['data'],
    )
Example #9
0
def setup_host_fix():
    subscription.update()

    if settings.app.license and settings.app.license_plan != 'premium':
        return

    from pritunl import server
    host_id = settings.local.host.id

    for svr in server.iter_servers(fields=['hosts']):
        if svr.hosts != [host_id]:
            svr.hosts = [host_id]
            svr.commit('hosts')
Example #10
0
def setup_host_init_server():
    subscription.update()

    if settings.app.license and settings.app.license_plan != 'premium':
        return

    from pritunl import server
    host_id = settings.local.host_id

    for svr in server.iter_servers(fields=['hosts']):
        if svr.hosts == []:
            svr.hosts = [host_id]
            svr.commit('hosts')
Example #11
0
def subscription_put():
    if settings.app.demo_mode:
        return utils.demo_blocked()

    card = flask.request.json.get('card')
    email = flask.request.json.get('email')
    plan = flask.request.json.get('plan')
    cancel = flask.request.json.get('cancel')

    try:
        url = 'https://app.pritunl.com/subscription'
        if settings.app.dedicated:
            url = settings.app.dedicated + '/subscription'

        if cancel:
            response = requests.delete(
                url,
                json={
                    'license': settings.app.license,
                },
            )
        else:
            response = requests.put(
                url,
                json={
                    'license': settings.app.license,
                    'card': card,
                    'plan': plan,
                    'email': email,
                },
            )
    except http.client.HTTPException:
        return utils.jsonify(
            {
                'error': SUBSCRIPTION_SERVER_ERROR,
                'error_msg': SUBSCRIPTION_SERVER_ERROR_MSG,
            }, 500)

    if response.status_code != 200:
        return utils.jsonify(response.json(), response.status_code)

    subscription.update()

    return utils.jsonify(subscription.dict())
Example #12
0
def subscription_put():
    # if settings.app.demo_mode:
    #     return utils.demo_blocked()

    # card = flask.request.json.get('card')
    # email = flask.request.json.get('email')
    # plan = flask.request.json.get('plan')
    # cancel = flask.request.json.get('cancel')

    # try:
    #     url = 'https://app.pritunl.com/subscription'
    #     if settings.app.dedicated:
    #         url = settings.app.dedicated + '/subscription'

    #     if cancel:
    #         response = requests.delete(
    #             url,
    #             json={
    #                 'license': settings.app.license,
    #             },
    #         )
    #     else:
    #         response = requests.put(
    #             url,
    #             json={
    #                 'license': settings.app.license,
    #                 'card': card,
    #                 'plan': plan,
    #                 'email': email,
    #             },
    #         )
    # except httplib.HTTPException:
    #     return utils.jsonify({
    #         'error': SUBSCRIPTION_SERVER_ERROR,
    #         'error_msg': SUBSCRIPTION_SERVER_ERROR_MSG,
    #     }, 500)

    # if response.status_code != 200:
    #     return utils.jsonify(response.json(), response.status_code)

    subscription.update()

    return utils.jsonify(subscription.dict())
Example #13
0
def subscription_put():
    if settings.app.demo_mode:
        return utils.demo_blocked()

    card = flask.request.json.get('card')
    email = flask.request.json.get('email')
    plan = flask.request.json.get('plan')
    promo_code = flask.request.json.get('promo_code')
    cancel = flask.request.json.get('cancel')

    try:
        if cancel:
            response = requests.delete(
                'https://app.pritunl.com/subscription',
                json={
                    'license': settings.app.license,
                },
            )
        else:
            response = requests.put(
                'https://app.pritunl.com/subscription',
                json={
                    'license': settings.app.license,
                    'card': card,
                    'plan': plan,
                    'promo_code': promo_code,
                    'email': email,
                },
            )
    except httplib.HTTPException:
        return utils.jsonify({
            'error': SUBSCRIPTION_SERVER_ERROR,
            'error_msg': SUBSCRIPTION_SERVER_ERROR_MSG,
        }, 500)

    if response.status_code != 200:
        return utils.jsonify(response.json(), response.status_code)

    subscription.update()

    return utils.jsonify(subscription.dict())
Example #14
0
def subscription_get():
    subscription.update()
    return utils.jsonify(subscription.dict())
Example #15
0
def _on_msg(msg):
    if msg['message'] != 'updated':
        return
    subscription.update()
Example #16
0
def start_subscription():
    settings.local.sub_active = None
    subscription.update()
    threading.Thread(target=_subscription_thread).start()
Example #17
0
def start_subscription():
    settings.local.sub_active = None
    subscription.update()
    threading.Thread(target=_subscription_thread).start()
Example #18
0
def subscription_get():
    subscription.update()
    return utils.jsonify(subscription.dict())
Example #19
0
def _subscription_thread():
    while True:
        time.sleep(SUBSCRIPTION_UPDATE_RATE)
        subscription.update()
Example #20
0
def _on_msg(msg):
    if msg['message'] != 'updated':
        return
    subscription.update()
Example #21
0
def _subscription_thread():
    while True:
        yield interrupter_sleep(SUBSCRIPTION_UPDATE_RATE)
        subscription.update()