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

Availability None error for Yosemite campgrounds that have closed for the season. #360

Open
stjohnjohnson opened this issue Oct 3, 2024 · 1 comment
Assignees
Labels
bug Something isn't working triage This will looked at

Comments

@stjohnjohnson
Copy link
Contributor

Describe the bug

Trying to search for campsites in North, Lower, and Upper pines and getting stuck with

campsites -> 924 -> availabilities 
none is not an allowed value (type=type_error.none.not_allowed)

I believe it is because North and Lower are closed for the season.

Yaml Config

campgrounds:
  - 232449
  - 232450
  - 232447
start_date:       2024-11-23
end_date:         2024-11-26
nights:           3
continuous:       true
notifications:    telegram
search_forever:   true
polling_interval: 5
equipment:
  - [RV, 25]

Debug

| 2024-10-03 04:59:04,487 [  CAMPLY]: camply, the campsite finder ⛺️
| 2024-10-03 04:59:04,488 [   DEBUG]: Setting up camply debugging
| 2024-10-03 04:59:04,488 [   DEBUG]: Camply Version: 0.32.8
| 2024-10-03 04:59:04,488 [   DEBUG]: Python Version: 3.11.9
| 2024-10-03 04:59:04,488 [   DEBUG]: Platform: linux
| 2024-10-03 04:59:04,490 [    INFO]: YAML File Parsed: search.yml
| 2024-10-03 04:59:04,490 [    INFO]: Using Camply Provider: "RecreationDotGov"
| 2024-10-03 04:59:04,491 [    INFO]: 3 booking nights selected for search, ranging from 2024-11-23 to 2024-11-25
| 2024-10-03 04:59:04,492 [    INFO]: Searching for availabilities with 3 consecutive night stays.
| 2024-10-03 04:59:04,493 [   DEBUG]: Starting new HTTPS connection (1): ridb.recreation.gov:443
| 2024-10-03 04:59:06,115 [   DEBUG]: https://ridb.recreation.gov:443 "GET /api/v1/facilities/232449?full=True HTTP/1.1" 200 11240
| 2024-10-03 04:59:07,690 [   DEBUG]: https://ridb.recreation.gov:443 "GET /api/v1/facilities/232450?full=True HTTP/1.1" 200 10478
| 2024-10-03 04:59:09,195 [   DEBUG]: https://ridb.recreation.gov:443 "GET /api/v1/facilities/232447?full=True HTTP/1.1" 200 12287
| 2024-10-03 04:59:09,199 [    INFO]: 3 Matching Campgrounds Found
| 2024-10-03 04:59:09,199 [    INFO]: ⛰  Yosemite National Park, CA (#2991) - 🏕  Lower Pines Campground (#232450)
| 2024-10-03 04:59:09,199 [    INFO]: ⛰  Yosemite National Park, CA (#2991) - 🏕  North Pines Campground (#232449)
| 2024-10-03 04:59:09,199 [    INFO]: ⛰  Yosemite National Park, CA (#2991) - 🏕  Upper Pines Campground (#232447)
| 2024-10-03 04:59:09,200 [    INFO]: Filtering Campsites based on Equipment: RV
| 2024-10-03 04:59:09,201 [    INFO]: Searching for campsites every 5 minutes.
| 2024-10-03 04:59:09,202 [    INFO]: Notifications active via: <SilentNotifications>, <TelegramNotifications>
| 2024-10-03 04:59:09,202 [    INFO]: Searching across 3 campgrounds
| 2024-10-03 04:59:09,209 [   DEBUG]: Starting new HTTPS connection (1): www.recreation.gov:443
| 2024-10-03 04:59:09,276 [   DEBUG]: https://www.recreation.gov:443 "GET /api/search/campsites?start=0&size=1000&fq=asset_id%3A232447&include_non_site_specific_campsites=True HTTP/1.1" 200 None
| 2024-10-03 04:59:09,397 [   DEBUG]: Starting new HTTPS connection (1): www.recreation.gov:443
| 2024-10-03 04:59:09,451 [   DEBUG]: https://www.recreation.gov:443 "GET /api/search/campsites?start=0&size=1000&fq=asset_id%3A232450&include_non_site_specific_campsites=True HTTP/1.1" 200 None
| 2024-10-03 04:59:09,484 [   DEBUG]: Starting new HTTPS connection (1): www.recreation.gov:443
| 2024-10-03 04:59:09,545 [   DEBUG]: https://www.recreation.gov:443 "GET /api/search/campsites?start=0&size=1000&fq=asset_id%3A232449&include_non_site_specific_campsites=True HTTP/1.1" 200 None
| 2024-10-03 04:59:09,717 [    INFO]: Metadata fetched for 414 campsites
| 2024-10-03 04:59:09,717 [    INFO]: Searching Upper Pines Campground, Yosemite National Park, CA (232447) for availability: November, 2024
| 2024-10-03 04:59:10,208 [   DEBUG]: Starting new HTTPS connection (1): www.recreation.gov:443
| 2024-10-03 04:59:10,283 [   DEBUG]: https://www.recreation.gov:443 "GET /api/camps/availability/campground/232447/month?start_date=2024-11-01T00%3A00%3A00.000Z HTTP/1.1" 200 None
| 2024-10-03 04:59:10,375 [    INFO]: 	❌	0 total sites found in month of November
| 2024-10-03 04:59:11,396 [    INFO]: Searching Lower Pines Campground, Yosemite National Park, CA (232450) for availability: November, 2024
| 2024-10-03 04:59:11,401 [   DEBUG]: Starting new HTTPS connection (1): www.recreation.gov:443
| 2024-10-03 04:59:11,495 [   DEBUG]: https://www.recreation.gov:443 "GET /api/camps/availability/campground/232450/month?start_date=2024-11-01T00%3A00%3A00.000Z HTTP/1.1" 200 None
| 2024-10-03 04:59:11,500 [  CAMPLY]: Exiting camply 👋
| ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
| │ /usr/local/bin/camply:8 in <module>                                          │
| │                                                                              │
| │   5 from camply.cli import cli                                               │
| │   6 if __name__ == '__main__':                                               │
| │   7 │   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])     │
| │ ❱ 8 │   sys.exit(cli())                                                      │
| │   9                                                                          │
| │                                                                              │
| │ ╭────────────────────────────── locals ───────────────────────────────╮      │
| │ │ cli = <function cli at 0x7f46618cca40>                              │      │
| │ │  re = <module 're' from '/usr/local/lib/python3.11/re/__init__.py'> │      │
| │ │ sys = <module 'sys' (built-in)>                                     │      │
| │ ╰─────────────────────────────────────────────────────────────────────╯      │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/camply/cli.py:883 in cli             │
| │                                                                              │
| │   880 │   Camply Command Line Utility Wrapper                                │
| │   881 │   """                                                                │
| │   882 │   try:                                                               │
| │ ❱ 883 │   │   camply_command_line()                                          │
| │   884 │   except KeyboardInterrupt:                                          │
| │   885 │   │   logger.debug("Handling Exit Request")                          │
| │   886 │   finally:                                                           │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/click/core.py:1157 in __call__       │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/rich_click/rich_group.py:21 in main  │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/click/core.py:1078 in main           │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/click/core.py:1688 in invoke         │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/click/core.py:1434 in invoke         │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/click/core.py:783 in invoke          │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/click/decorators.py:45 in new_func   │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/camply/cli.py:775 in campsites       │
| │                                                                              │
| │   772 │   │   )                                                              │
| │   773 │   provider_class: Type[BaseCampingSearch] = CAMPSITE_SEARCH_PROVIDER │
| │   774 │   camping_finder: BaseCampingSearch = provider_class(**provider_kwar │
| │ ❱ 775 │   camping_finder.get_matching_campsites(**search_kwargs)             │
| │   776                                                                        │
| │   777                                                                        │
| │   778 @camply_command_line.command(cls=RichCommand)                          │
| │                                                                              │
| │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
| │ │          campground = ()                                                 │ │
| │ │      camping_finder = <camply.search.search_recreationdotgov.SearchRecr… │ │
| │ │                       object at 0x7f466184f090>                          │ │
| │ │            campsite = ()                                                 │ │
| │ │             context = CamplyContext(debug=True, provider=None)           │ │
| │ │          continuous = False                                              │ │
| │ │                 day = ()                                                 │ │
| │ │               debug = True                                               │ │
| │ │            end_date = ()                                                 │ │
| │ │           equipment = ()                                                 │ │
| │ │        equipment_id = None                                               │ │
| │ │              nights = 1                                                  │ │
| │ │       notifications = ()                                                 │ │
| │ │    notify_first_try = None                                               │ │
| │ │      offline_search = False                                              │ │
| │ │ offline_search_path = None                                               │ │
| │ │    polling_interval = None                                               │ │
| │ │            provider = 'RecreationDotGov'                                 │ │
| │ │      provider_class = <class                                             │ │
| │ │                       'camply.search.search_recreationdotgov.SearchRecr… │ │
| │ │     provider_kwargs = {                                                  │ │
| │ │                       │   'search_window': SearchWindow(                 │ │
| │ │                       │   │   start_date=datetime.date(2024, 11, 23),    │ │
| │ │                       │   │   end_date=datetime.date(2024, 11, 26)       │ │
| │ │                       │   ),                                             │ │
| │ │                       │   'recreation_area': None,                       │ │
| │ │                       │   'campgrounds': [232449, 232450, 232447],       │ │
| │ │                       │   'campsites': None,                             │ │
| │ │                       │   'weekends_only': False,                        │ │
| │ │                       │   'days_of_the_week': None,                      │ │
| │ │                       │   'nights': 3,                                   │ │
| │ │                       │   'equipment': [('RV', 25)],                     │ │
| │ │                       │   'offline_search': False,                       │ │
| │ │                       │   'offline_search_path': None                    │ │
| │ │                       }                                                  │ │
| │ │            rec_area = ()                                                 │ │
| │ │      search_forever = None                                               │ │
| │ │       search_kwargs = {                                                  │ │
| │ │                       │   'log': True,                                   │ │
| │ │                       │   'verbose': True,                               │ │
| │ │                       │   'continuous': True,                            │ │
| │ │                       │   'polling_interval': 5,                         │ │
| │ │                       │   'notify_first_try': False,                     │ │
| │ │                       │   'notification_provider': 'telegram',           │ │
| │ │                       │   'search_forever': True,                        │ │
| │ │                       │   'search_once': False                           │ │
| │ │                       }                                                  │ │
| │ │         search_once = False                                              │ │
| │ │          start_date = ()                                                 │ │
| │ │            weekends = False                                              │ │
| │ │         yaml_config = '/home/camply/search.yml'                          │ │
| │ ╰──────────────────────────────────────────────────────────────────────────╯ │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/camply/search/base_search.py:588 in  │
| │ get_matching_campsites                                                       │
| │                                                                              │
| │    585 │   │   │   except Exception as e:                                    │
| │    586 │   │   │   │   if self.search_attempts >= 1:                         │
| │    587 │   │   │   │   │   self.notifier.last_gasp(error=e)                  │
| │ ❱  588 │   │   │   │   raise e                                               │
| │    589 │   │   else:                                                         │
| │    590 │   │   │   starting_count = len(self.campsites_found)                │
| │    591 │   │   │   matching_campsites = self._search_matching_campsites_avai │
| │                                                                              │
| │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
| │ │            continuous = True                                             │ │
| │ │                   log = True                                             │ │
| │ │ notification_provider = 'telegram'                                       │ │
| │ │      notify_first_try = False                                            │ │
| │ │      polling_interval = 5                                                │ │
| │ │        search_forever = True                                             │ │
| │ │           search_once = False                                            │ │
| │ │                  self = <camply.search.search_recreationdotgov.SearchRe… │ │
| │ │                         object at 0x7f466184f090>                        │ │
| │ │               verbose = True                                             │ │
| │ ╰──────────────────────────────────────────────────────────────────────────╯ │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/camply/search/base_search.py:576 in  │
| │ get_matching_campsites                                                       │
| │                                                                              │
| │    573 │   │   """                                                           │
| │    574 │   │   if continuous is True or search_once is True:                 │
| │    575 │   │   │   try:                                                      │
| │ ❱  576 │   │   │   │   self._search_campsites_continuous(                    │
| │    577 │   │   │   │   │   log=log,                                          │
| │    578 │   │   │   │   │   verbose=verbose,                                  │
| │    579 │   │   │   │   │   polling_interval=polling_interval,                │
| │                                                                              │
| │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
| │ │            continuous = True                                             │ │
| │ │                   log = True                                             │ │
| │ │ notification_provider = 'telegram'                                       │ │
| │ │      notify_first_try = False                                            │ │
| │ │      polling_interval = 5                                                │ │
| │ │        search_forever = True                                             │ │
| │ │           search_once = False                                            │ │
| │ │                  self = <camply.search.search_recreationdotgov.SearchRe… │ │
| │ │                         object at 0x7f466184f090>                        │ │
| │ │               verbose = True                                             │ │
| │ ╰──────────────────────────────────────────────────────────────────────────╯ │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/camply/search/base_search.py:510 in  │
| │ _search_campsites_continuous                                                 │
| │                                                                              │
| │    507 │   │   continuous_search_attempts = 1                                │
| │    508 │   │   while continuous_search is True:                              │
| │    509 │   │   │   starting_count = len(self.campsites_found)                │
| │ ❱  510 │   │   │   self._continuous_search_retry(                            │
| │    511 │   │   │   │   log=log,                                              │
| │    512 │   │   │   │   verbose=verbose,                                      │
| │    513 │   │   │   │   polling_interval=polling_interval,                    │
| │                                                                              │
| │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
| │ │          continuous_search = True                                        │ │
| │ │ continuous_search_attempts = 1                                           │ │
| │ │                        log = True                                        │ │
| │ │      notification_provider = 'telegram'                                  │ │
| │ │           notify_first_try = False                                       │ │
| │ │           polling_interval = 5                                           │ │
| │ │   polling_interval_minutes = 5                                           │ │
| │ │             search_forever = True                                        │ │
| │ │                search_once = False                                       │ │
| │ │                       self = <camply.search.search_recreationdotgov.Sea… │ │
| │ │                              object at 0x7f466184f090>                   │ │
| │ │             starting_count = 0                                           │ │
| │ │                    verbose = True                                        │ │
| │ ╰──────────────────────────────────────────────────────────────────────────╯ │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/camply/search/base_search.py:356 in  │
| │ _continuous_search_retry                                                     │
| │                                                                              │
| │    353 │   │   │   retry=tenacity.retry_if_exception_type(CampsiteNotFoundEr │
| │    354 │   │   │   wait=tenacity.wait.wait_fixed(int(polling_interval_minute │
| │    355 │   │   )                                                             │
| │ ❱  356 │   │   matching_campsites = retryer.__call__(                        │
| │    357 │   │   │   fn=self._search_matching_campsites_available,             │
| │    358 │   │   │   log=False,                                                │
| │    359 │   │   │   verbose=False,                                            │
| │                                                                              │
| │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
| │ │ continuous_search_attempts = 1                                           │ │
| │ │                        log = True                                        │ │
| │ │      notification_provider = 'telegram'                                  │ │
| │ │           notify_first_try = False                                       │ │
| │ │           polling_interval = 5                                           │ │
| │ │   polling_interval_minutes = 5                                           │ │
| │ │                    retryer = <Retrying object at 0x7f46618ea950          │ │
| │ │                              (stop=<tenacity.stop._stop_never object at  │ │
| │ │                              0x7f468388f950>,                            │ │
| │ │                              wait=<tenacity.wait.wait_fixed object at    │ │
| │ │                              0x7f46618ebe50>, sleep=<function sleep at   │ │
| │ │                              0x7f468500f2e0>,                            │ │
| │ │                              retry=<tenacity.retry.retry_if_exception_t… │ │
| │ │                              object at 0x7f46618ea690>, before=<function │ │
| │ │                              before_nothing at 0x7f4683883920>,          │ │
| │ │                              after=<function after_nothing at            │ │
| │ │                              0x7f46838ac860>)>                           │ │
| │ │                search_once = False                                       │ │
| │ │                       self = <camply.search.search_recreationdotgov.Sea… │ │
| │ │                              object at 0x7f466184f090>                   │ │
| │ │                    verbose = True                                        │ │
| │ ╰──────────────────────────────────────────────────────────────────────────╯ │
| │                                                                              │
| │ /usr/local/lib/python3.11/site-packages/tenacity/__init__.py:379 in __call__ │
| │                                                                              │
| │   376 │   │                                                                  │
| │   377 │   │   retry_state = RetryCallState(retry_object=self, fn=fn, args=ar │
| │   378 │   │   while True:                                                    │
| │ ❱ 379 │   │   │   do = self.iter(retry_state=retry_state)                    │
| │   380 │   │   │   if isinstance(do, DoAttempt):                              │
| │   381 │   │   │   │   try:                                                   │
| │   382 │   │   │   │   │   result = fn(*args, **kwargs)                       │
| │                                                                              │
| │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
| │ │        args = ()                                                         │ │
| │ │          do = <tenacity.DoAttempt object at 0x7f46618ea7d0>              │ │
| │ │          fn = <bound method                                              │ │
| │ │               BaseCampingSearch._search_matching_campsites_available of  │ │
| │ │               <camply.search.search_recreationdotgov.SearchRecreationDo… │ │
| │ │               object at 0x7f466184f090>>                                 │ │
| │ │      kwargs = {'log': False, 'verbose': False, 'raise_error': True}      │ │
| │ │ retry_state = <RetryCallState 139940261168208: attempt #1; slept for     │ │
| │ │               0.0; last result: failed (ValidationError 74 validation    │ │
| │ │               errors for CampsiteAvailabilityResponse                    │ │
| │ │               campsites -> 906 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 907 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 908 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 909 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 910 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 911 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 912 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 913 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 914 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 915 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 916 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 917 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 918 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 919 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 920 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 921 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 922 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 923 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 924 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 925 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 926 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 927 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 928 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 929 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 930 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 931 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 932 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 933 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 934 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 935 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 936 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 937 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 938 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 939 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 940 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 941 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 942 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 943 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 944 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 945 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 946 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 947 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 948 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 949 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 950 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 951 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 952 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 953 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 954 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 955 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 956 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 957 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 958 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 959 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 960 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 961 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 962 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 963 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 964 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 965 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 966 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 967 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 968 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 969 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 970 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 971 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 972 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 973 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 974 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 975 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 976 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 978 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 979 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed)                         │ │
| │ │               campsites -> 980 -> availabilities                         │ │
| │ │                 none is not an allowed value                             │ │
| │ │               (type=type_error.none.not_allowed))>                       │ │
| │ │        self = <Retrying object at 0x7f46618ea950                         │ │
| │ │               (stop=<tenacity.stop._stop_never object at                 │ │
| │ │               0x7f468388f950>, wait=<tenacity.wait.wait_fixed object at  │ │
| │ │               0x7f46618ebe50>, sleep=<function sleep at 0x7f468500f2e0>, │ │
| │ │               retry=<tenacity.retry.retry_if_exception_type object at    │ │
| │ │               0x7f46618ea690>, before=<function before_nothing at        │ │
| │ │               0x7f4683883920>, after=<function after_nothing at          │ │
| │ │               0x7f46838ac860>)>                                          │ │
| │ ╰──────────────────────────────────────────────────────────────────────────╯ │
| │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
| │ │  availabilities = {                                                      │ │
| │ │                   │   'campsites': {                                     │ │
| │ │                   │   │   '906': {                                       │ │
| │ │                   │   │   │   'campsite_id': '906',                      │ │
| │ │                   │   │   │   'site': '003',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '907': {                                       │ │
| │ │                   │   │   │   'campsite_id': '907',                      │ │
| │ │                   │   │   │   'site': '004',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '908': {                                       │ │
| │ │                   │   │   │   'campsite_id': '908',                      │ │
| │ │                   │   │   │   'site': '005',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '909': {                                       │ │
| │ │                   │   │   │   'campsite_id': '909',                      │ │
| │ │                   │   │   │   'site': 'DBL1',                            │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 7,                       │ │
| │ │                   │   │   │   'max_num_people': 12,                      │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '910': {                                       │ │
| │ │                   │   │   │   'campsite_id': '910',                      │ │
| │ │                   │   │   │   'site': '007',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '911': {                                       │ │
| │ │                   │   │   │   'campsite_id': '911',                      │ │
| │ │                   │   │   │   'site': '012',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 1,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '912': {                                       │ │
| │ │                   │   │   │   'campsite_id': '912',                      │ │
| │ │                   │   │   │   'site': '013',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '913': {                                       │ │
| │ │                   │   │   │   'campsite_id': '913',                      │ │
| │ │                   │   │   │   'site': '014',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '914': {                                       │ │
| │ │                   │   │   │   'campsite_id': '914',                      │ │
| │ │                   │   │   │   'site': '017',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   '915': {                                       │ │
| │ │                   │   │   │   'campsite_id': '915',                      │ │
| │ │                   │   │   │   'site': '018',                             │ │
| │ │                   │   │   │   'loop': 'Lower Pines',                     │ │
| │ │                   │   │   │   'campsite_reserve_type': 'Site-Specific',  │ │
| │ │                   │   │   │   'availabilities': None,                    │ │
| │ │                   │   │   │   'quantities': None,                        │ │
| │ │                   │   │   │   'campsite_type': 'STANDARD NONELECTRIC',   │ │
| │ │                   │   │   │   'type_of_use': 'Overnight',                │ │
| │ │                   │   │   │   'min_num_people': 0,                       │ │
| │ │                   │   │   │   'max_num_people': 6,                       │ │
| │ │                   │   │   │   ... +4                                     │ │
| │ │                   │   │   },                                             │ │
| │ │                   │   │   ... +64                                        │ │
| │ │                   │   },                                                 │ │
| │ │                   │   'count': 74                                        │ │
| │ │                   }                                                      │ │
| │ │      campground = CampgroundFacility(                                    │ │
| │ │                   │   facility_name='Lower Pines Campground',            │ │
| │ │                   │   recreation_area='Yosemite National Park, CA',      │ │
| │ │                   │   facility_id=232450,                                │ │
| │ │                   │   recreation_area_id=2991,                           │ │
| │ │                   │   map_id=None,                                       │ │
| │ │                   │   coordinates=None                                   │ │
| │ │                   )                                                      │ │
| │ │       campsites = []                                                     │ │
| │ │ found_campsites = []                                                     │ │
| │ │           index = 1                                                      │ │
| │ │           month = datetime.date(2024, 11, 1)                             │ │
| │ │            self = <camply.search.search_recreationdotgov.SearchRecreati… │ │
| │ │                   object at 0x7f466184f090>                              │ │
| │ ╰──────────────────────────────────────────────────────────────────────────╯ │
@stjohnjohnson stjohnjohnson added the bug Something isn't working label Oct 3, 2024
@github-actions github-actions bot added the triage This will looked at label Oct 3, 2024
@wallboy2020
Copy link

I am experiencing the same error searching for an open campground, but also on recreation.gov:
provider: RecreationDotGov
recreation_area: 2730
campgrounds: 232491
campsites: 4242

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage This will looked at
Projects
None yet
Development

No branches or pull requests

3 participants