davidlms commited on
Commit
a9641aa
·
verified ·
1 Parent(s): 9fab3a2

Delete main.py

Browse files
Files changed (1) hide show
  1. main.py +0 -90
main.py DELETED
@@ -1,90 +0,0 @@
1
- """
2
- Main entry point for DescribePDF application.
3
-
4
- This module handles command-line argument parsing and routes to the appropriate
5
- UI or CLI functionality based on the provided arguments.
6
- """
7
-
8
- import argparse
9
- import sys
10
- from typing import List, Optional
11
-
12
- from describepdf.config import logger
13
-
14
- def parse_arguments(args: Optional[List[str]] = None) -> argparse.Namespace:
15
- """
16
- Parse command line arguments.
17
-
18
- Args:
19
- args: List of command line arguments (default: sys.argv[1:])
20
-
21
- Returns:
22
- argparse.Namespace: Parsed arguments
23
- """
24
- parser = argparse.ArgumentParser(add_help=False)
25
- parser.add_argument('--web', action='store_true', help='Start in web mode with Gradio (OpenRouter)')
26
- parser.add_argument('--web-ollama', action='store_true', help='Start in web mode with Gradio (Ollama local)')
27
-
28
- # Parse known args to allow the rest to be processed by the CLI parser
29
- args, _ = parser.parse_known_args(args)
30
- return args
31
-
32
- def main(args: Optional[List[str]] = None) -> int:
33
- """
34
- Main function that starts the appropriate application mode.
35
-
36
- Args:
37
- args: List of command line arguments (default: sys.argv[1:])
38
-
39
- Returns:
40
- int: Exit code (0 for success, non-zero for error)
41
- """
42
- # Logging is already configured in config.py, we just need to use the logger
43
- logger.info("Starting DescribePDF...")
44
-
45
- # Parse arguments
46
- parsed_args = parse_arguments(args)
47
-
48
- try:
49
- # Start in the appropriate mode
50
- if parsed_args.web:
51
- # Start web UI with OpenRouter
52
- from describepdf import ui
53
- logger.info("Starting in WEB mode with Gradio interface for OpenRouter...")
54
- app_ui = ui.create_ui()
55
- app_ui.launch()
56
- logger.info("Web UI stopped.")
57
- return 0
58
-
59
- elif parsed_args.web_ollama:
60
- # Start web UI with Ollama
61
- from describepdf import ui_ollama
62
- logger.info("Starting in WEB mode with Gradio interface for Ollama...")
63
- app_ui = ui_ollama.create_ui()
64
- app_ui.launch()
65
- logger.info("Web UI (Ollama) stopped.")
66
- return 0
67
-
68
- else:
69
- # Start CLI mode
70
- from describepdf import cli
71
- logger.info("Starting in CLI mode...")
72
- cli.run_cli()
73
- return 0
74
-
75
- except ImportError as e:
76
- logger.error(f"Failed to start, likely a missing dependency: {e}")
77
- logger.error(f"Details: {e}")
78
- return 1
79
-
80
- except KeyboardInterrupt:
81
- logger.info("Application stopped by user.")
82
- return 0
83
-
84
- except Exception as e:
85
- logger.error(f"An unexpected error occurred: {e}", exc_info=True)
86
- return 1
87
-
88
- if __name__ == "__main__":
89
- exit_code = main()
90
- sys.exit(exit_code)