mirror of
https://github.com/Garmelon/PFERD.git
synced 2026-04-12 07:25:04 +02:00
Fix crash as soon as first cl or dl token was acquired
This commit is contained in:
parent
8fad8edc1e
commit
662191eca9
2 changed files with 8 additions and 6 deletions
|
|
@ -117,12 +117,11 @@ def main() -> None:
|
|||
|
||||
try:
|
||||
pferd = Pferd(config)
|
||||
asyncio.run(pferd.run())
|
||||
except ConfigOptionError as e:
|
||||
log.unlock()
|
||||
log.error(str(e))
|
||||
exit(1)
|
||||
|
||||
try:
|
||||
asyncio.run(pferd.run())
|
||||
except KeyboardInterrupt:
|
||||
log.unlock()
|
||||
log.explain_topic("Interrupted, exiting immediately")
|
||||
|
|
|
|||
|
|
@ -20,9 +20,6 @@ class Pferd:
|
|||
self._authenticators: Dict[str, Authenticator] = {}
|
||||
self._crawlers: Dict[str, Crawler] = {}
|
||||
|
||||
self._load_authenticators()
|
||||
self._load_crawlers()
|
||||
|
||||
def _load_authenticators(self) -> None:
|
||||
for name, section in self._config.authenticator_sections():
|
||||
log.print(f"[bold bright_cyan]Loading[/] {escape(name)}")
|
||||
|
|
@ -46,6 +43,12 @@ class Pferd:
|
|||
self._crawlers[name] = crawler
|
||||
|
||||
async def run(self) -> None:
|
||||
# These two functions must run inside the same event loop as the
|
||||
# crawlers, so that any new objects (like Conditions or Futures) can
|
||||
# obtain the correct event loop.
|
||||
self._load_authenticators()
|
||||
self._load_crawlers()
|
||||
|
||||
for name, crawler in self._crawlers.items():
|
||||
log.print("")
|
||||
log.print(f"[bold bright_cyan]Running[/] {escape(name)}")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue