示例#1
0
def location():
    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
    try:
        reader = geoip2.database.Reader(
            os.path.realpath('.') + '/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
        })
示例#2
0
def assert_events(self, location_name, query_params_one=None, query_params_two=None):
    if query_params_two is None:
        query_params_two = {}
    if query_params_one is None:
        query_params_one = {}
    rv = self.app.get(url_for('explore.explore_view', location=slugify(location_name)) + '?' +
                      urllib.urlencode(query_params_one), follow_redirects=True)
    self.assertTrue("Super Event" in rv.data, msg=rv.data)
    self.assertTrue("Random Event" not in rv.data, msg=rv.data)
    rv = self.app.get(url_for('explore.explore_view', location=slugify(location_name)) + '?' +
                      urllib.urlencode(query_params_two), follow_redirects=True)
    self.assertTrue("Super Event" not in rv.data, msg=rv.data)
    self.assertTrue("Random Event" in rv.data, msg=rv.data)
示例#3
0
 def test_location_filter(self):
     with app.test_request_context():
         event = get_event()
         save_to_db(event, "Event Saved")
         event = get_event_two()
         event.location_name = 'United States'
         event.searchable_location_name = 'United States'
         save_to_db(event, "Event Saved")
         rv = self.app.get(url_for('explore.explore_view', location=slugify('India')), follow_redirects=True)
         self.assertTrue("Super Event" in rv.data, msg=rv.data)
         self.assertTrue("Random Event" not in rv.data, msg=rv.data)
         rv = self.app.get(url_for('explore.explore_view', location=slugify('United States')), follow_redirects=True)
         self.assertTrue("Super Event" not in rv.data, msg=rv.data)
         self.assertTrue("Random Event" in rv.data, msg=rv.data)
示例#4
0
    def browse_view(self):
        params = request.args.items()
        params = dict((k, v) for k, v in params if v)
        print params
        def test_and_remove(key):
            if request.args.get(key):
                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.realpath('.') + '/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))
    def browse_view(self):
        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):
                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.realpath('.') + '/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))
def location():
    ip = get_real_ip(True)

    try:
        reader = geoip2.database.Reader(os.path.realpath('.') + '/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
        })
示例#7
0
def location():
    ip = get_real_ip(True)

    try:
        reader = geoip2.database.Reader(
            os.path.realpath('.') + '/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
        })
def location():
    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
    try:
        reader = geoip2.database.Reader(os.path.realpath('.') + '/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
        })
def slugify_filter(string):
    return slugify(string)
示例#10
0
def slugify_filter(s):
    return slugify(s)
def slugify_filter(string):
    return slugify(string)