Exemplo n.º 1
0
def browse_view():
    params = request.args.items()
    params = dict((k, v) for k, v in params if v)

    def test_and_remove(key):
        if request.args.get(key) and request.args.get("query"):
            if request.args.get(key).lower() == request.args.get(
                    "query").lower():
                erase_from_dict(params, 'query')

    if not request.args.get("location"):
        try:
            reader = geoip2.database.Reader(
                os.path.abspath(current_app.config['BASE_DIR'] +
                                '/static/data/GeoLite2-Country.mmdb'))
            ip = get_real_ip()
            if ip == '127.0.0.1' or ip == '0.0.0.0':
                ip = urlopen(
                    'http://ip.42.pl/raw').read()  # On local test environments
            response = reader.country(ip)
            country = response.country.name
        except:
            country = "United States"
    else:
        country = request.args.get("location")

    test_and_remove("location")
    test_and_remove("category")
    erase_from_dict(params, 'location')

    return redirect(
        url_for('explore.explore_view', location=slugify(country)) + '?' +
        urllib.urlencode(params))
Exemplo n.º 2
0
def browse_view():
    params = request.args.items()
    params = dict((k, v) for k, v in params if v)

    def test_and_remove(key):
        if request.args.get(key) and request.args.get("query"):
            if request.args.get(key).lower() == request.args.get("query").lower():
                erase_from_dict(params, 'query')

    if not request.args.get("location"):
        try:
            reader = geoip2.database.Reader(
                os.path.abspath(current_app.config['BASE_DIR'] + '/static/data/GeoLite2-Country.mmdb'))
            ip = get_real_ip()
            if ip == '127.0.0.1' or ip == '0.0.0.0':
                ip = urlopen('http://ip.42.pl/raw').read()  # On local test environments
            response = reader.country(ip)
            country = response.country.name
        except:
            country = "United States"
    else:
        country = request.args.get("location")

    test_and_remove("location")
    test_and_remove("category")
    erase_from_dict(params, 'location')

    return redirect(url_for('explore.explore_view', location=slugify(country)) + '?' + urllib.urlencode(params))
Exemplo n.º 3
0
def display_debug_info():
    return render_template('gentelella/super_admin/debug/debug.html',
                           ip=get_real_ip(),
                           cookies=request.cookies,
                           config=json.dumps(dict(current_app.config), sort_keys=True, indent=4, default=json_serial),
                           environment=json.dumps(dict(os.environ.data), sort_keys=True, indent=4, default=json_serial),
                           navigation_bar=list_navbar(),
                           headers=request.headers)
Exemplo n.º 4
0
def get_request_stats():
    """
    Get IP, Browser, Platform, Version etc
    http://werkzeug.pocoo.org/docs/0.11/utils/#module-werkzeug.useragents

    Note: request.remote_addr gives the server's address if the server is behind a reverse proxy. -@niranjan94
    """
    return {
        'ip': get_real_ip(),
        'platform': request.user_agent.platform,
        'browser': request.user_agent.browser,
        'version': request.user_agent.version,
        'language': request.user_agent.language
    }
Exemplo n.º 5
0
def get_request_stats():
    """
    Get IP, Browser, Platform, Version etc
    http://werkzeug.pocoo.org/docs/0.11/utils/#module-werkzeug.useragents

    Note: request.remote_addr gives the server's address if the server is behind a reverse proxy. -@niranjan94
    """
    return {
        'ip': get_real_ip(),
        'platform': request.user_agent.platform,
        'browser': request.user_agent.browser,
        'version': request.user_agent.version,
        'language': request.user_agent.language
    }
Exemplo n.º 6
0
def display_debug_info():
    return render_template('gentelella/super_admin/debug/debug.html',
                           ip=get_real_ip(),
                           cookies=request.cookies,
                           config=json.dumps(dict(current_app.config),
                                             sort_keys=True,
                                             indent=4,
                                             default=json_serial),
                           environment=json.dumps(dict(os.environ.data),
                                                  sort_keys=True,
                                                  indent=4,
                                                  default=json_serial),
                           navigation_bar=list_navbar(),
                           headers=request.headers)
def location():
    ip = get_real_ip(True)

    try:
        reader = geoip2.database.Reader(
            os.path.abspath(current_app.config['BASE_DIR'] + '/static/data/GeoLite2-Country.mmdb'))
        response = reader.country(ip)
        return jsonify({
            'status': 'ok',
            'name': response.country.name,
            'code': response.country.iso_code,
            'slug': slugify(response.country.name),
            'ip': ip
        })
    except:
        return jsonify({
            'status': 'ok',
            'silent_error': 'look_up_failed',
            'name': 'United States',
            'slug': slugify('United States'),
            'code': 'US',
            'ip': ip
        })
Exemplo n.º 8
0
def location():
    ip = get_real_ip(True)

    try:
        reader = geoip2.database.Reader(
            os.path.abspath(current_app.config['BASE_DIR'] +
                            '/static/data/GeoLite2-Country.mmdb'))
        response = reader.country(ip)
        return jsonify({
            'status': 'ok',
            'name': response.country.name,
            'code': response.country.iso_code,
            'slug': slugify(response.country.name),
            'ip': ip
        })
    except:
        return jsonify({
            'status': 'ok',
            'silent_error': 'look_up_failed',
            'name': 'United States',
            'slug': slugify('United States'),
            'code': 'US',
            'ip': ip
        })
Exemplo n.º 9
0
def get_current_timezone():
    match = geolite2.lookup(get_real_ip(True) or '127.0.0.1')
    if match is not None:
        return match.timezone
    else:
        return 'UTC'
Exemplo n.º 10
0
def get_current_timezone():
    match = geolite2.lookup(get_real_ip(True) or '127.0.0.1')
    if match is not None:
        return match.timezone
    else:
        return 'UTC'