datawhores / OF-Scraper

A completely revamped and redesigned fork, reimagined from scratch based on the original onlyfans-scraper
MIT License
559 stars 50 forks source link

Using the Model Filter Breaks Script #384

Closed basketballhead6 closed 1 month ago

basketballhead6 commented 1 month ago

Describe the bug

Using the model filter feature breaks the script and causes it to crash.

This is from the comments in #379.

To Reproduce

Run the script and filter your model selection i.e. for only free subscriptions. Select models from the selection you wish to scrape Start scrape

Expected behavior

The script doesn't crash and progresses as normal.

Screenshots/Logs

[WinError 6] The handle is invalid
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 113, in get
    if not self._poll(timeout):
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\connection.py", line 256, in poll
    return self._poll(timeout)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\connection.py", line 329, in _poll
    return bool(wait([self], timeout))
                ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\connection.py", line 882, in wait
    ov.cancel()
OSError: [WinError 6] The handle is invalid

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed
Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\logs\stdout.py", line 37, in logger_process
    messages = funct(timeout=constants.getattr("LOGGER_TIMEOUT"))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\multiprocessing\queues.py", line 100, in get
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x0000012FCBB9B910> is closed

This is the logging file output

 2024-05-27 08:54:33:[helpers.inner:11]  Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\scraper.py", line 77, in main
    scrapper()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\scraper.py", line 112, in scrapper
    process_prompts()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 92, in inner
    raise E
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 85, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\scraper.py", line 58, in process_prompts
    if menu.main_menu_action():
       ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\menu.py", line 41, in main_menu_action
    runner()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 92, in inner
    raise E
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 85, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\runner.py", line 42, in runner
    userdata, session = prepare()
                        ^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\runner.py", line 64, in prepare
    userdata = userselector.getselected_usernames(rescan=False)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\models\selector.py", line 89, in getselected_usernames
    parsed_subscriptions_helper()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\models\selector.py", line 144, in parsed_subscriptions_helper
    selectedusers = retriver.get_selected_model(filterNSort())
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\models\retriver.py", line 80, in get_selected_model
    return prompts.model_selector(parsed_subscriptions)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\prompts\prompt_groups\model.py", line 41, in model_selector
    p = promptClasses.getFuzzySelection(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\prompts\promptConvert.py", line 17, in inner
    with prompt_live():
  File "C:\Python311\Lib\contextlib.py", line 144, in __exit__
    next(self.gen)
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\live\empty.py", line 12, in prompt_live
    live.start()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\rich\live.py", line 113, in start
    self.console.set_live(self)
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\rich\console.py", line 836, in set_live
    raise errors.LiveError("Only one live display may be active at once")
rich.errors.LiveError: Only one live display may be active at once

 2024-05-27 08:54:33:[run.main:29]  Traceback (most recent call last):
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\runner\run.py", line 17, in main
    main_helper()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\runner\run.py", line 47, in main_helper
    picker.pick()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\helpers\picker.py", line 17, in pick
    actions.main()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\scraper.py", line 95, in main
    raise E
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\scraper.py", line 77, in main
    scrapper()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\scraper.py", line 112, in scrapper
    process_prompts()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 92, in inner
    raise E
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 85, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\scraper.py", line 58, in process_prompts
    if menu.main_menu_action():
       ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\menu.py", line 41, in main_menu_action
    runner()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 92, in inner
    raise E
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\context\exit.py", line 85, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\runner.py", line 42, in runner
    userdata, session = prepare()
                        ^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\commands\scraper\runner.py", line 64, in prepare
    userdata = userselector.getselected_usernames(rescan=False)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\models\selector.py", line 89, in getselected_usernames
    parsed_subscriptions_helper()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\models\selector.py", line 144, in parsed_subscriptions_helper
    selectedusers = retriver.get_selected_model(filterNSort())
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\models\retriver.py", line 80, in get_selected_model
    return prompts.model_selector(parsed_subscriptions)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\prompts\prompt_groups\model.py", line 41, in model_selector
    p = promptClasses.getFuzzySelection(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\prompts\promptConvert.py", line 17, in inner
    with prompt_live():
  File "C:\Python311\Lib\contextlib.py", line 144, in __exit__
    next(self.gen)
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\ofscraper\utils\live\empty.py", line 12, in prompt_live
    live.start()
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\rich\live.py", line 113, in start
    self.console.set_live(self)
  File "C:\Users\user\.local\pipx\venvs\ofscraper\Lib\site-packages\rich\console.py", line 836, in set_live
    raise errors.LiveError("Only one live display may be active at once")
rich.errors.LiveError: Only one live display may be active at once

Config

(https://pastebin.com/bb2TX5Ae)

System Info

datawhores commented 1 month ago

This should be fixed in the last preview release

basketballhead6 commented 1 month ago

Can confirm that this is fixed in the 3.10dev6 release. Thank you!