pferd/PFERD
Joscha 552cd82802 Run async input and password getters in daemon thread
Previously, it ran in the event loop's default executor, which would block until
all its workers were done working.

If Ctrl+C was pressed while input or a password were being read, the
asyncio.run() call in the main thread would be interrupted however, not the
input thread. This meant that multiple key presses (either enter or a second
Ctrl+C) were necessary to stop a running PFERD in some circumstances.

This change instead runs the input functions in daemon threads so they exit as
soon as the main thread exits.
2021-05-22 18:37:53 +02:00
..
authenticators Move logging logic to singleton 2021-05-18 22:45:19 +02:00
cli Extract CLI argument parsing to separate module 2021-05-22 15:03:45 +02:00
crawlers Try out some HTTP authentication handling 2021-05-21 12:02:51 +02:00
__init__.py Single-source version number 2021-05-14 21:27:44 +02:00
__main__.py Clean up main and improve error handling 2021-05-22 16:47:24 +02:00
authenticator.py Move logging logic to singleton 2021-05-18 22:45:19 +02:00
config.py Clean up main and improve error handling 2021-05-22 16:47:24 +02:00
crawler.py Add some todos 2021-05-22 14:45:46 +02:00
limiter.py Change limiter logic 2021-05-15 15:25:05 +02:00
logging.py Improve reporting of unexpected exceptions 2021-05-22 18:36:25 +02:00
output_dir.py Implement reusable FileSinkToken for OutputDirectory 2021-05-19 17:16:23 +02:00
pferd.py Move logging logic to singleton 2021-05-18 22:45:19 +02:00
report.py Fix cookies getting deleted 2021-05-15 22:25:48 +02:00
transformer.py Allow variable whitespace in arrow rules 2021-05-15 15:25:05 +02:00
utils.py Run async input and password getters in daemon thread 2021-05-22 18:37:53 +02:00
version.py Implement --version flag 2021-05-19 17:33:36 +02:00