cubehouse / themeparks

Unofficial API for accessing ride wait times and schedules for Disneyland, Disney World, Universal Studios, and many more parks
MIT License
536 stars 126 forks source link

New Disney Parks "Lightning Lane" is not recognized as "fastpass" #353

Closed jtmaddux closed 2 years ago

jtmaddux commented 2 years ago

Park Disney parks

Context

Describe the bug New Disney Parks "Lightning Lane" is not recognized as "fastpass" and thus "fastpass: false" is returned I was planning to take a crack at debugging/implementing, however looking at the code the Disney Parks are a HostedPark object and the data is returned directly from https://api.themeparks.wiki/

Output THEMEPARKS 5724: DisneylandResortMagicKingdom: Set useragent to Mozilla/5.0 (Linux; U; Android 1.5; en-gb; T-Mobile_G2_Touch Build/CUPCAKE) AppleWebKit/528.5 (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 THEMEPARKS 5724: Setting up database "themeparks.db" getting wait times api.themeparks.wiki DisneylandResortMagicKingdom THEMEPARKS 5724: Making request to https://api.themeparks.wiki/preview/parks/DisneylandResortMagicKingdom/waittime THEMEPARKS 5724: Calling get:https://api.themeparks.wiki/preview/parks/DisneylandResortMagicKingdom/waittime THEMEPARKS 5724: Found 'application/json' header from in HTTP request, parsing JSON data THEMEPARKS 5724: Successfully fetched body for URL https://api.themeparks.wiki/preview/parks/DisneylandResortMagicKingdom/waittime park 1 got ride count of 57 1 ride 56 { meta: { type: 'ATTRACTION', longitude: -117.917056, latitude: 33.811548, entityId: '9167db1d-e5e7-46da-a07f-ae30a87bc4c4', singleRider: false, returnTime: { state: 'AVAILABLE', returnEnd: null, returnStart: '2022-02-02T13:40:00-08:00' } }, id: 'DisneylandResortMagicKingdom_353435', name: 'Space Mountain', active: true, waitTime: 55, fastPass: false, lastUpdate: '2022-02-02T21:33:15.110Z', status: 'Operating' }

bluesolarflare commented 2 years ago

You have to access the meta tag for Lightning Lane (ride.meta.returnTime.returnStart) and store it as a variable and convert it to the proper date/time code. I would put a check when iterating the rides to see if that returns false. The only thing that will NOT work is paid Lightning Lane (Rise of the Resistance, Radiator Springs Racers, and Webslingers). Those values do not show up nor does the price.

jtmaddux commented 2 years ago

thanks. the returnTime data was right there in my data, not sure why I didn;t see it!