stephanlensky / hyacinth

A Discord bot to send notifications for marketplace (Craigslist, Facebook) postings based on complex matching rules.
https://slensky.com/hyacinth
GNU Affero General Public License v3.0
45 stars 8 forks source link

FB Marketplace poll failure #85

Open Kermat161 opened 4 months ago

Kermat161 commented 4 months ago

its been working fine for craigslist and been sending notifications but hasent sent any for FB and the log file is this:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/zoneinfo/_common.py", line 12, in load_tzdata
    return resources.files(package_name).joinpath(resource_name).open("rb")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/resources/_common.py", line 46, in wrapper
    return func(anchor)
           ^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/resources/_common.py", line 56, in files
    return from_package(resolve(anchor))
                        ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/functools.py", line 909, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/resources/_common.py", line 82, in _
    return importlib.import_module(cand)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'tzdata.zoneinfo.<America'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/plugins/marketplace/client.py", line 190, in _parse_result_details
    details_json["target"]["creation_time"], tz=ZoneInfo(settings.tz)
                                                ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/zoneinfo/_common.py", line 24, in load_tzdata
    raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key <America/New_York>'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/hyacinth/monitor.py", line 95, in __safe_poll_search
    listings = await search_spec.plugin.get_listings(search_spec.search_params, after_time)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/plugins/marketplace/plugin.py", line 38, in get_listings
    return await get_listings(search_params, after_time, limit)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/plugins/marketplace/client.py", line 28, in get_listings
    async for listing in search:
  File "/app/plugins/marketplace/client.py", line 66, in _search
    listing = _parse_result_details(url, result_content)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/plugins/marketplace/client.py", line 207, in _parse_result_details
    raise ParseError("Error parsing result details", content) from e
hyacinth.exceptions.ParseError: Error parsing result details

any help is appreciated

aelharda commented 4 months ago

its been working fine for craigslist and been sending notifications but hasent sent any for FB and the log file is this:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/zoneinfo/_common.py", line 12, in load_tzdata
    return resources.files(package_name).joinpath(resource_name).open("rb")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/resources/_common.py", line 46, in wrapper
    return func(anchor)
           ^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/resources/_common.py", line 56, in files
    return from_package(resolve(anchor))
                        ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/functools.py", line 909, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/resources/_common.py", line 82, in _
    return importlib.import_module(cand)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'tzdata.zoneinfo.<America'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/plugins/marketplace/client.py", line 190, in _parse_result_details
    details_json["target"]["creation_time"], tz=ZoneInfo(settings.tz)
                                                ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/zoneinfo/_common.py", line 24, in load_tzdata
    raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key <America/New_York>'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/hyacinth/monitor.py", line 95, in __safe_poll_search
    listings = await search_spec.plugin.get_listings(search_spec.search_params, after_time)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/plugins/marketplace/plugin.py", line 38, in get_listings
    return await get_listings(search_params, after_time, limit)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/plugins/marketplace/client.py", line 28, in get_listings
    async for listing in search:
  File "/app/plugins/marketplace/client.py", line 66, in _search
    listing = _parse_result_details(url, result_content)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/plugins/marketplace/client.py", line 207, in _parse_result_details
    raise ParseError("Error parsing result details", content) from e
hyacinth.exceptions.ParseError: Error parsing result details

any help is appreciated

Looks like the tzdata package is missing, try rebuilding your docker-compose with the latest hycacinth version.

I'm having a rate-limiting issue with the Facebook plugin, haven't had a single notification yet