def find_events(start_date_time, end_date_time, classification_names, state_code): tm_client = ticketpy.ApiClient('4KEuLm3GnFY5e8ROVqrn8aUvwUYGO4AL') pages = tm_client.events.find( classification_name=classification_names, state_code=state_code, start_date_time=start_date_time.isoformat(timespec='seconds') + "Z", end_date_time=end_date_time.isoformat(timespec='seconds') + "Z") return [e for p in pages for e in p]
def test_bad_key(self): bad_client = ticketpy.ApiClient('asdf') self.assertRaises(ApiException, bad_client.venues.find, keyword="a")
def test_apikey(self): tmp_client = ticketpy.ApiClient('random_key') self.assertIn('apikey', tmp_client.api_key) self.assertEqual('random_key', tmp_client.api_key['apikey'])
def get_client(): """Returns ApiClient with api key from config.ini""" config = ConfigParser() config.read(os.path.join(os.path.dirname(__file__), 'config.ini')) api_key = config.get('ticketmaster', 'api_key') return ticketpy.ApiClient(api_key)
# #i. The state name #ii. The musician(s) with the most events in the state #iii. The venue with the most events in the state #iv. The most expensive ticket price of any event in the state #v. The event name of the event with the most expensive ticket price #vi. The musician(s) of the event with the most expensive ticket price ##the following libraries need to installed via the termainal import csv import datetime #this is the library used to be able to extract data from the ticketmaster api import ticketpy #using the API key extracted during the initial registration phase tm_client = ticketpy.ApiClient('clgynUwwtpmipM9LAjrG3dc4OkFYmWig') #creating a querystring to look for musicians who will be playing on a future date #searching through the EVENTS table pages = tm_client.events.find( classification_Name=('Musician'), #this is todays day.. needs to be changed to the future start_date_time='2019-07-26T20:00:00Z') #for testing purposes to print on console for event in page: print(event) print("opening csv") #### Write API Results to CSV #create a csv file with the permission to WRITE (this will overwrite each time this script is run)
def ConcertDF(USstateCode, Genre, StartDate, EndDate, APIKey): import ticketpy import pandas as pd try: tm_client = ticketpy.ApiClient(APIKey) except: 'Enter a valid API key!' pages = tm_client.events.find( classification_name=Genre, state_code=USstateCode, start_date_time=StartDate + 'T00:00:00Z', ##StartDate Format: YYYY-MM-DD end_date_time=EndDate + 'T00:00:00Z' ##EndDate Format: YYYY-MM-DD ) if pages.page == []: concerts = pd.DataFrame( columns=('Event', 'Genre', 'SubGenre', 'ArtistType', 'ImageURL', 'EventInfo', 'StartTime', 'EndTime', 'VenueAddress', 'PostalCode', 'City', 'State', 'StateCode', 'Address', 'Longitude', 'Latitude', 'MinTicketPrice', 'MaxTicketPrice')) return concerts else: ev_name = [] ev_genre = [] ev_subgenre = [] ev_artisttype = [] ev_image = [] ev_info = [] ev_sttime = [] ev_entime = [] ev_venue = [] ev_pc = [] ev_city = [] ev_state = [] ev_statecode = [] ev_address = [] ev_lon = [] ev_lat = [] ev_minpr = [] ev_maxpr = [] for page in pages: for event in page: try: ev_name.append(event.json['name']) except KeyError: ev_name.append('NA') try: ev_genre.append( event.json['classifications'][0]['genre']['name']) except KeyError: ev_genre.append('NA') try: ev_subgenre.append( event.json['classifications'][0]['subGenre']['name']) except KeyError: ev_subgenre.append('NA') try: ev_artisttype.append( event.json['classifications'][0]['type']['name']) except KeyError: ev_artisttype.append('NA') try: ev_image.append(event.json['images'][0]['url']) except KeyError: ev_image.append('NA') try: ev_info.append(event.json['pleaseNote']) except KeyError: ev_info.append('NA') try: ev_sttime.append( event.json['sales']['public']['startDateTime']) except KeyError: ev_sttime.append('NA') try: ev_entime.append( event.json['sales']['public']['endDateTime']) except KeyError: ev_entime.append('NA') try: ev_venue.append( event.json['_embedded']['venues'][0]['name']) except KeyError: ev_venue.append('NA') try: ev_pc.append( event.json['_embedded']['venues'][0]['postalCode']) except KeyError: ev_pc.append('NA') try: ev_city.append( event.json['_embedded']['venues'][0]['city']['name']) except KeyError: ev_city.append('NA') try: ev_state.append( event.json['_embedded']['venues'][0]['state']['name']) except KeyError: ev_state.append('NA') try: ev_statecode.append(event.json['_embedded']['venues'][0] ['state']['stateCode']) except KeyError: ev_statecode.append('NA') try: ev_address.append(event.json['_embedded']['venues'][0] ['address']['line1']) except KeyError: ev_address.append('NA') try: ev_lon.append(event.json['_embedded']['venues'][0] ['location']['longitude']) except KeyError: ev_lon.append('NA') try: ev_lat.append(event.json['_embedded']['venues'][0] ['location']['latitude']) except KeyError: ev_lat.append('NA') try: ev_minpr.append(event.json['priceRanges'][0]['min']) except KeyError: ev_minpr.append('NA') try: ev_maxpr.append(event.json['priceRanges'][0]['max']) except KeyError: ev_maxpr.append('NA') concerts = pd.DataFrame( list( zip(ev_name, ev_genre, ev_subgenre, ev_artisttype, ev_image, ev_info, ev_sttime, ev_entime, ev_venue, ev_pc, ev_city, ev_state, ev_statecode, ev_address, ev_lon, ev_lat, ev_minpr, ev_maxpr))) concerts.columns = [ 'Event', 'Genre', 'SubGenre', 'ArtistType', 'ImageURL', 'EventInfo', 'StartTime', 'EndTime', 'VenueAddress', 'PostalCode', 'City', 'State', 'StateCode', 'Address', 'Longitude', 'Latitude', 'MinTicketPrice', 'MaxTicketPrice' ] return concerts
import ticketpy import pprint tm_client = ticketpy.ApiClient('DhfuZsulCs5UNronw8pNCf6GEVc7GIPY') pp = pprint.PrettyPrinter(indent=4) def tm_api(*args): # print(args) argument = {} argument["city"] = args[0] argument["startDateTime"] = args[1] + "T00:00:00Z" # argument["endDateTime"] = args[1][:8]+str(int(args[1][8:10])+1) + args[1][10:]+"T00:00:00Z" argument["radius"] = args[2] argument["keyword"] = args[3] pages = tm_client.events.find(**argument) # def tm_api(): # argument = {} # argument["keyword"] = "hip hop" # argument["city"] = "San Francisco" # argument["radius"] = "10" # argument["startDateTime"] = "2019-11-03T10:00:00Z" # argument["endDateTime"] = "2019-11-04T23:59:00Z" # pages = tm_client.events.find(**argument) lst = [] for page in pages: for event in page: if len(lst) == 10: break dict = {}
def test_apikey(self): tmp_client = ticketpy.ApiClient("random_key") self.assertIn("apikey", tmp_client.api_key) self.assertEqual("random_key", tmp_client.api_key["apikey"])
def validate_args(**kwargs): classifiler_list = [ 'Music', 'Sports', 'Family', 'Miscellaneous', 'Arts & Theater', 'Concerts', 'Film' ] ''' Method to validate classifier & date ''' if __name__ == '__main__': #args = parser.parse_args() api_key = 'A7Vk7p59KexOjt3e7exhBG47AcnkiC9T' tm_client = ticketpy.ApiClient(api_key) #classifier=input('Hey enter the class of ticket you want:') #State Code to run thru every states event in the given time period statecodes = [ 'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 'WI', 'WY', 'PR' ] #EventFiner(classifier) program_name = sys.argv[0] args = sys.argv[1:] if len(args) == 1: startdate = '2019-01-05T20:00:00Z' enddate = '2019-01-20T20:00:00Z'
import ticketpy tm_client = ticketpy.ApiClient('TB4mGiWrYIGhlnSZntuCOcARexeMzGem') venues = tm_client.venues.find(keyword='music').all() for v in venues: print(v) # pages = tm_client.events.find( # state_code='London', # start_date_time='2017-05-19T20:00:00Z', # end_date_time='2017-05-21T20:00:00Z' # ) # print(pages.event) # for page in pages: # for event in page: # print(event) # pages = tm_client.events.find( # classification_name='Hip-Hop', # state_code='GA', # start_date_time='2017-05-19T20:00:00Z', # end_date_time='2017-05-21T20:00:00Z' # ) # print(pages) # for page in pages: # for event in page: # print(event)
import ticketpy import json import pandas as pd from time import sleep # Initialize client with your Ticketmaster API key. tm_client = ticketpy.ApiClient('W08meX2jz2HhnqRAGk00YXZf8tJaBDgG') pages = tm_client.events.find( state_code='CA' # start_date_time='2019-05-01T00:00:00Z', # end_date_time='2019-05-30T00:00:00Z' ) e = None i = 0 for page in pages: for event in page: print(i) print(json.dumps(event.json, indent=4, sort_keys=True)) i += 1 break print("done") """ e.json ###getName name = event['name'] ###get Time Start start_time =event['sales']['public']['startDateTime'] ###get Time End
api_key = "5OY240GGemjfZrjV66o7OgePYReqJPcG" api_url = "https://app.ticketmaster.com/discovery/v2/events.json?countryCode=US&apikey=" import ticketpy tm_client = ticketpy.ApiClient("5OY240GGemjfZrjV66o7OgePYReqJPcG") venues = tm_client.venues.find(keyword="Tabernacle").all() for v in venues: print("Name: {} / City: {}".format(v.name, v.city))
import ticketpy from tok import secret import pprint token = secret() tm_client = ticketpy.ApiClient(token) pp = pprint.PrettyPrinter(indent=4) def tm_api(*args): # dictionary keys of argument are the fields we care about, startDateTime format: '2014-03-31T19:15:00Z' print(args) argument = { 'location': args[0], 'startDateTime': args[1], 'category': args[2], 'radius': args[3] } # do something like this... # argument["city"] = pages = tm_client.events.find(**argument) list_of_events = [] for page in pages: for event in page: #populate this dictionary with info from the search if ("name" in event.json and "url" in event.json and "localTime" in event.json["dates"]["start"]
import datetime import numpy as np from datetime import timedelta import geocoder import webbrowser g = geocoder.ip('me') today = datetime.date.today() endDate = today + timedelta(days=5) today_str = today.strftime('%Y-%m-%dT%H:%M:%SZ') endDate_str = endDate.strftime('%Y-%m-%dT%H:%M:%SZ') mykey="Abiv3plK1RopGuqNsk8eduAiyvhTVPdI" import ticketpy tm_client = ticketpy.ApiClient(mykey) pages = tm_client.events.find( latlong=g.latlng, state_code='CA', start_date_time=today_str, end_date_time=endDate_str, ) def extract_cont(x,label): if(label in x.keys()): return(x[label]) else: return(None) def extract_information(event):
import spotipy import spotipy.util as util # spoofy credentials here from config2 import CLIENT_ID, CLIENT_SECRET, CLIENT_REDIRECT_URI import random import requests import ticketpy import sys tm_client = ticketpy.ApiClient('TM credentials here') events = tm_client.events.find( #parameters TM api #city="Oslo", #segment_id='KZFzniwnSyZfZ7v7nJ', #classificationId= 'KZFzniwnSyZfZ7v7nJ', #start_date_time='2018-06-30T00:00:00Z', #end_date_time='2018-07-02T00:00:00Z', ) mylist = [] for i in events: for event in i: mylist.append(event.name) mylist_sorted = [] for ele in mylist: