Beispiel #1
0
def integrate_happy_hours_for_city(latitude, longitude, radius):
    latitude_min, longitude_min, latitude_max, longitude_max = boundingBox(
        latitude, longitude, radius)
    raw_happy_hours = RawHappyHour.objects.filter(
        latitude__range=(latitude_min, latitude_max),
        longitude__range=(longitude_min, longitude_max))
    integrate_happy_hours(raw_happy_hours)
Beispiel #2
0
def match_and_add_places_from_raw_places(latitude, longitude, radius):
    errors = []
    latitude_min, longitude_min, latitude_max, longitude_max = boundingBox(
        latitude, longitude, radius)
    raw_places = RawPlace.objects.filter(latitude__range=(latitude_min,
                                                          latitude_max),
                                         longitude__range=(longitude_min,
                                                           longitude_max))
    deal_places = DealPlace.objects.all()
    for raw_place in raw_places:
        print str(raw_place.id)
        lat_range = [raw_place.latitude - 0.01, raw_place.latitude + 0.01]
        lng_range = [raw_place.longitude - 0.01, raw_place.longitude + 0.01]
        deal_places_near_raw_place = deal_places.filter(
            latitude__range=lat_range, longitude__range=lng_range)
        matched_places = []
        for place in deal_places_near_raw_place:
            if fuzz.partial_ratio(remove_non_ascii(place.name),
                                  remove_non_ascii(raw_place.name)) > 90:
                matched_places.append(place)
        if len(matched_places) == 0:
            add_raw_place_to_deal_place(raw_place)
        elif len(matched_places) > 1:
            errors.append(str(raw_place.id))
    print "Match and Add Places Successful"
    send_error_report_email("Multiple Raw Places", errors)
Beispiel #3
0
def update_keys(latitude, longitude, radius):
    latitude_min, longitude_min, latitude_max, longitude_max = boundingBox(
        latitude, longitude, radius)
    deal_places = DealPlace.objects.filter(latitude__range=(latitude_min,
                                                            latitude_max),
                                           longitude__range=(longitude_min,
                                                             longitude_max))
    add_facebook_ids(deal_places)
    add_foursquare_ids(deal_places)
    # add_yelp_ids(deal_places)
    facebook_errors = update_instagram_ids(deal_places)
    print "Update Keys Successful"
    send_error_report_email("Facebook Errors", facebook_errors)
Beispiel #4
0
def add_or_update_extras_for_places(latitude, longitude, radius):
    latitude_min, longitude_min, latitude_max, longitude_max = boundingBox(
        latitude, longitude, radius)
    deal_places = DealPlace.objects.filter(latitude__range=(latitude_min,
                                                            latitude_max),
                                           longitude__range=(longitude_min,
                                                             longitude_max))
    add_foursquare_extras(deal_places)
    #TODO add yelp extras
    add_facebook_extras(deal_places)
    get_yelp_ratings(deal_places)
    #TODO add happy hours
    print "Add or update extras successful"
Beispiel #5
0
def close_venues_in_city(latitude, longitude, radius):
    latitude_min, longitude_min, latitude_max, longitude_max = boundingBox(latitude, longitude, radius)
    places = DealPlace.objects.filter(latitude__range=(latitude_min, latitude_max), longitude__range=(longitude_min, longitude_max), yelp_id__isnull=False, in_review=False)
    closed_venues = []
    for each in places:
        try:
            venue = get_business(each.yelp_id)
            if venue['is_closed']:
                each.closed = True
                each.save()
                closed_string = 'Closed: ' + str(each.name)
                closed_venues.append(closed_string)
        except Exception:
            traceback.print_exc()
    print "Close venues successful"
    send_error_report_email("Closed Venues", closed_venues)
Beispiel #6
0
def get_possible_event_venues(latitude, longitude, radius):
    latitude_min, longitude_min, latitude_max, longitude_max = boundingBox(
        latitude, longitude, radius)
    places = DealPlace.objects.filter(latitude__range=(latitude_min,
                                                       latitude_max),
                                      longitude__range=(longitude_min,
                                                        longitude_max))
    bad_names = [
        'bistro', 'ristorante', 'burger', 'hookah', 'smoke', 'wine',
        'restaurant'
    ]
    types = ['pub', 'bar', 'lounge', 'beer', 'nightclub', 'music']
    bad_types = ['comedy', 'wine', 'restaurant', 'grill', 'juice', 'store']
    event_venues = []
    for place in places:
        if place.place_type:
            if any(x in place.place_type.lower() for x in types) and not any(
                    x in place.name.lower() for x in bad_names) and not any(
                        x in place.place_type.lower() for x in bad_types):
                event_venues.append(place)
    return event_venues