yaml search with ReserveCalifornia fails with TypeError: object of type 'NoneType' has no len()
Closed this issue ยท 0 comments
smilinggoat commented
Describe the bug
When configuring camply to use a yaml file for searches, if the provider
is ReserveCalifornia
, it consistently exits with TypeError: object of type 'NoneType' has no len()
Original Camply Command (with --debug
)
camply campsites --yaml-config my_search.yaml --debug
my_search.yaml content
provider: ReserveCalifornia
recreation_area: 1077
start_date: 2023-07-21
end_date: 2023-07-23
Expected behavior
Command should have the same output as when ReserveCalifornia is used with inline arguments.
Console Output (with --debug
)
[2023-07-05 15:37:05] CAMPLY camply, the campsite finder โบ๏ธ
[2023-07-05 15:37:05] DEBUG Setting up camply debugging
[2023-07-05 15:37:05] DEBUG Camply Version: 0.27.0
[2023-07-05 15:37:05] DEBUG Python Version: 3.11.4
[2023-07-05 15:37:05] DEBUG Platform: darwin
[2023-07-05 15:37:05] INFO YAML File Parsed: my_search.yaml
[2023-07-05 15:37:05] INFO Using Camply Provider: "ReserveCalifornia"
[2023-07-05 15:37:05] INFO 2 booking nights selected for search, ranging from 2023-07-21 to 2023-07-22
[2023-07-05 15:37:05] CAMPLY Exiting camply ๐
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Traceback (most recent call last) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ /Users/ixtli/.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 0x12ec04040> โ โ
โ โ re = <module 're' from โ โ
โ โ '/opt/homebrew/Cellar/python@3.11/3.11.4_1/Frameworks/Python.framework/Versions/3.11/โฆ โ โ
โ โ sys = <module 'sys' (built-in)> โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/camply/cli.py:881 in cli โ
โ โ
โ 878 โ Camply Command Line Utility Wrapper โ
โ 879 โ """ โ
โ 880 โ try: โ
โ โฑ 881 โ โ camply_command_line() โ
โ 882 โ except KeyboardInterrupt: โ
โ 883 โ โ logger.debug("Handling Exit Request") โ
โ 884 โ finally: โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/click/core.py:1130 in โ
โ __call__ โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/rich_click/rich_group.py:21 โ
โ in main โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/click/core.py:1055 in main โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/click/core.py:1657 in invoke โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/click/core.py:1404 in invoke โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/click/core.py:760 in invoke โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/click/decorators.py:38 in โ
โ new_func โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/camply/cli.py:772 in โ
โ campsites โ
โ โ
โ 769 โ โ โ yaml_config=yaml_config, โ
โ 770 โ โ ) โ
โ 771 โ provider_class: Type[BaseCampingSearch] = CAMPSITE_SEARCH_PROVIDER[provider] โ
โ โฑ 772 โ camping_finder: BaseCampingSearch = provider_class(**provider_kwargs) โ
โ 773 โ camping_finder.get_matching_campsites(**search_kwargs) โ
โ 774 โ
โ 775 โ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ campground = () โ โ
โ โ 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 = 'ReserveCalifornia' โ โ
โ โ provider_class = <class 'camply.search.search_usedirect.SearchReserveCalifornia'> โ โ
โ โ provider_kwargs = { โ โ
โ โ โ 'search_window': SearchWindow( โ โ
โ โ โ โ start_date=datetime.date(2023, 7, 21), โ โ
โ โ โ โ end_date=datetime.date(2023, 7, 23) โ โ
โ โ โ ), โ โ
โ โ โ 'recreation_area': 1077, โ โ
โ โ โ 'campgrounds': None, โ โ
โ โ โ 'campsites': None, โ โ
โ โ โ 'weekends_only': False, โ โ
โ โ โ 'days_of_the_week': None, โ โ
โ โ โ 'nights': 1, โ โ
โ โ โ 'equipment': None, โ โ
โ โ โ 'offline_search': False, โ โ
โ โ โ 'offline_search_path': None โ โ
โ โ } โ โ
โ โ rec_area = () โ โ
โ โ search_forever = None โ โ
โ โ search_kwargs = { โ โ
โ โ โ 'log': True, โ โ
โ โ โ 'verbose': True, โ โ
โ โ โ 'continuous': True, โ โ
โ โ โ 'polling_interval': 10, โ โ
โ โ โ 'notify_first_try': False, โ โ
โ โ โ 'notification_provider': 'silent', โ โ
โ โ โ 'search_forever': False, โ โ
โ โ โ 'search_once': False โ โ
โ โ } โ โ
โ โ search_once = False โ โ
โ โ start_date = () โ โ
โ โ weekends = False โ โ
โ โ yaml_config = '/Users/ixtli/my_search.yaml' โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โ /Users/ixtli/.local/pipx/venvs/camply/lib/python3.11/site-packages/camply/search/search_usedirec โ
โ t.py:84 in __init__ โ
โ โ
โ 81 โ โ self._recreation_area_ids: List[int] = make_list(recreation_area, coerce=int) โ
โ 82 โ โ self._campground_ids: List[int] = make_list(campgrounds, coerce=int) โ
โ 83 โ โ campsites = make_list(kwargs.get("campsites", []), coerce=int) โ
โ โฑ 84 โ โ if len(campsites) > 0: โ
โ 85 โ โ โ self.campsite_finder.validate_campsites( โ
โ 86 โ โ โ โ campsites=campsites, facility_ids=self._campground_ids โ
โ 87 โ โ โ ) โ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ campgrounds = None โ โ
โ โ campsites = None โ โ
โ โ kwargs = { โ โ
โ โ โ 'campsites': None, โ โ
โ โ โ 'days_of_the_week': None, โ โ
โ โ โ 'equipment': None, โ โ
โ โ โ 'offline_search': False, โ โ
โ โ โ 'offline_search_path': None โ โ
โ โ } โ โ
โ โ nights = 1 โ โ
โ โ recreation_area = 1077 โ โ
โ โ search_window = SearchWindow( โ โ
โ โ โ start_date=datetime.date(2023, 7, 21), โ โ
โ โ โ end_date=datetime.date(2023, 7, 23) โ โ
โ โ ) โ โ
โ โ self = <camply.search.search_usedirect.SearchReserveCalifornia object at โ โ
โ โ 0x10eb89810> โ โ
โ โ weekends_only = False โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
TypeError: object of type 'NoneType' has no len()
Additional context
Formatting the above search as an inline command successfully completes:
camply --debug campsites \
--provider ReserveCalifornia \
--rec-area 1077 \
--start-date 2023-07-21 \
--end-date 2023-07-23