Exemplo n.º 1
0
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]
Exemplo n.º 2
0
 def test_bad_key(self):
     bad_client = ticketpy.ApiClient('asdf')
     self.assertRaises(ApiException, bad_client.venues.find, keyword="a")
Exemplo n.º 3
0
 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'])
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
#
#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
Exemplo n.º 7
0
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 = {}
Exemplo n.º 8
0
 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"])
Exemplo n.º 9
0
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'
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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
Exemplo n.º 12
0
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))

Exemplo n.º 13
0
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"]
Exemplo n.º 14
0
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: