Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeyError: diningFormFilter #26

Open
CoocooFroggy opened this issue Jan 26, 2024 · 6 comments
Open

KeyError: diningFormFilter #26

CoocooFroggy opened this issue Jan 26, 2024 · 6 comments

Comments

@CoocooFroggy
Copy link

Describe the bug
A clear and concise description of what the bug is.

Version
0.2.9.1

To Reproduce
Steps to reproduce the behavior:

  1. Deploy app
  2. Try to load website — receive 500 internal server error
ERROR:adrfinder:Exception on / [GET]
Traceback (most recent call last):
  File "/usr/local/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask_login/utils.py", line 290, in decorated_view
    return current_app.ensure_sync(func)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/adrfinder/__init__.py", line 350, in index
    rest_and_times = get_restaurants_and_times()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/adrfinder/__init__.py", line 1021, in get_restaurants_and_times
    search_times = rest.get_search_times()
                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/adrfinder/restaurants.py", line 144, in get_search_times
    for mealPeriods in dining_data['filters']['diningFormFilter']['mealPeriods']:
                       ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 'diningFormFilter'
@ChuckMac
Copy link
Owner

Disney has changed the format of their dining json which is causing this issue.

Even moving past this, they have changed so now authentication is required to see reservation availabilty. Kind of debating how much sense it makes to still move forward with this given this would now require users to enter their Disney credentials for it to work.

@CoocooFroggy
Copy link
Author

I see—would any dummy account work, if users don't want to store their actual credentials to run the program? Although I understand if there's a lot of work involved in implementing authentication

@ChuckMac
Copy link
Owner

I'm fairly sure a dummy account would suffice

@corbantek
Copy link

Anyone planning this work for the future? I may try to take this up later this Spring but wanted to know if this project was dead or not...

@amorabito
Copy link

I was trying to figure out the authentication for new API from the network tab/postman proxy but could not figure out how to use the google captcha stuff...

@CoocooFroggy
Copy link
Author

CoocooFroggy commented Apr 11, 2024

If dining reservations are protected by reCAPTCHA, we're probably out of luck (unless we can find a workaround endpoint).

There are captcha solving services which cost money; but if every availability refresh costs a token, it's going to get very expensive very quickly.

Although this might not be what you're implying? As I feel it would be a hassle for mobile devices to make dining reservations if every request is reCAPTCHA checked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants