1818
1919from __future__ import annotations
2020
21+ import os
2122import sys
2223import time
2324from optparse import Values
2425from typing import Any
2526from lib .core .settings import (
2627 AUTHENTICATION_TYPES ,
2728 COMMON_EXTENSIONS ,
29+ DEFAULT_SESSION_DIR ,
2830 DEFAULT_TOR_PROXIES ,
2931 FILE_BASED_OUTPUT_FORMATS ,
3032 SCRIPT_PATH ,
4042def parse_options () -> dict [str , Any ]:
4143 opt = merge_config (parse_arguments ())
4244
45+ def _session_debug (message : str ) -> None :
46+ if not os .environ .get ("DIRSEARCH_SESSIONS_DEBUG" ):
47+ return
48+ try :
49+ sys .stderr .write (f"[sessions] { message } \n " )
50+ sys .stderr .flush ()
51+ except Exception :
52+ return
53+
4354 if opt .list_sessions :
4455 from lib .controller .session import SessionStore
4556
46- base_dir = opt .sessions_dir or "."
57+ base_dir = opt .sessions_dir or DEFAULT_SESSION_DIR
58+ _session_debug (f"--list-sessions enabled base_dir={ base_dir !r} " )
4759 session_store = SessionStore ({})
4860 sessions = session_store .list_sessions (base_dir )
61+ _session_debug (f"--list-sessions completed total={ len (sessions )} " )
4962
5063 if not sessions :
5164 print (f"No resumable sessions found in { base_dir } " )
@@ -74,9 +87,11 @@ def parse_options() -> dict[str, Any]:
7487 if opt .session_id :
7588 from lib .controller .session import SessionStore
7689
77- base_dir = opt .sessions_dir or "."
90+ base_dir = opt .sessions_dir or DEFAULT_SESSION_DIR
91+ _session_debug (f"--session-id enabled base_dir={ base_dir !r} " )
7892 session_store = SessionStore ({})
7993 sessions = session_store .list_sessions (base_dir )
94+ _session_debug (f"--session-id sessions found total={ len (sessions )} " )
8095 if not sessions :
8196 print (f"No resumable sessions found in { base_dir } " )
8297 sys .exit (1 )
@@ -85,12 +100,14 @@ def parse_options() -> dict[str, Any]:
85100 except ValueError :
86101 print (f"Invalid session id: { opt .session_id } " )
87102 sys .exit (1 )
103+ _session_debug (f"--session-id parsed index={ session_index } " )
88104 if session_index < 1 or session_index > len (sessions ):
89105 print (
90106 f"Session id out of range: { session_index } (1-{ len (sessions )} )"
91107 )
92108 sys .exit (1 )
93109 opt .session_file = sessions [session_index - 1 ]["path" ]
110+ _session_debug (f"--session-id resolved path={ opt .session_file !r} " )
94111
95112 if opt .session_file :
96113 return vars (opt )
0 commit comments