def createresort(data, yelpdata, ytdata): resort = Resort(name=data['name'], id=data['id']) resort.lifts = data['lift_count'] resort.runs = data['run_count'] resort.website = data['official_website'] resort.lat = data['latitude'] resort.lon = data['longitude'] resort.elev = data['top_elevation'] resort.mapid = data['ski_maps'][0]['id'] resort.yelprating = yelpdata['businesses'][0]['rating'] resort.reviewcount = yelpdata['businesses'][0]['review_count'] resort.youtubeid = ytdata['items'][0]['id']['videoId'] return resort
def getResort(id): try: data = fetch.fetchJSON("https://skimap.org/SkiAreas/view/" + str(id) + ".json") except ValueError as e: return Resort() res = Resort(name=data['name'], id=data['id']) res.lifts = data['lift_count'] if 'lift_count' in data else None res.runs = data['run_count'] if 'run_count' in data else None res.website = data[ 'official_website'] if 'official_website' in data else None res.lat = data['latitude'] if 'latitude' in data else None res.lon = data['longitude'] if 'longitude' in data else None res.elev = data['top_elevation'] if 'top_elevation' in data else None res.mapid = data['ski_maps'][0]['id'] if len( data['ski_maps']) > 0 else None maptree = None try: maptree = fetch.fetchXML("https://skimap.org/SkiMaps/view/" + str(res.mapid) + ".xml") maprender = maptree.find('render') if maprender is not None: res.mapurl = maprender.get('url') except ValueError as e: res.mapurl = None except ElementTree.ParseError as e: res.mapurl = None try: yelpdata = fetch.fetchYelpJSON( 'https://api.yelp.com/v3/businesses/search?&latitude=' + str(res.lat) + '&longitude=' + str(res.lon)) res.yelprating = yelpdata['businesses'][0]['rating'] res.reviewcount = yelpdata['businesses'][0]['review_count'] except ValueError: res.reviewcount = 0 except IndexError: res.reviewcount = 0 try: youtubedata = fetch.fetchJSON( 'https://www.googleapis.com/youtube/v3/search?q=' + res.name + '&part=snippet&type=video&maxResults=25&key=AIzaSyDRwflQaI1Zq5bqKVQJ2YBDHb7l7oD1L2o' ) res.youtubeid = youtubedata['items'][0]['id']['videoId'] except ValueError: res.youtubeid = None except IndexError: res.youtubeid = None return res