MCPcopy
hub / github.com/zai-org/GLM-OCR / main

Function main

glmocr/server.py:163–223  ·  view source on GitHub ↗

Main entrypoint.

()

Source from the content-addressed store, hash-verified

161
162
163def main():
164 """Main entrypoint."""
165 import argparse
166
167 parser = argparse.ArgumentParser(description="GlmOcr Server")
168 parser.add_argument("--config", type=str, default=None, help="Config file path")
169 parser.add_argument(
170 "--log-level",
171 type=str,
172 default=None,
173 choices=["DEBUG", "INFO", "WARNING", "ERROR"],
174 help="Log level",
175 )
176 args = parser.parse_args()
177
178 # Use spawn for multiprocessing
179 multiprocessing.set_start_method("spawn", force=True)
180
181 app = None
182
183 try:
184 config = load_config(args.config)
185
186 # Configure logging
187 log_level = args.log_level or config.logging.level
188 configure_logging(level=log_level)
189
190 # Create app with typed config
191 app = create_app(config)
192
193 # Start pipeline
194 pipeline = app.config["pipeline"]
195 pipeline.start()
196
197 # Start Flask service
198 server_config = config.server
199 logger.info("")
200 logger.info("=" * 60)
201 logger.info(
202 "GlmOcr Server starting on %s:%d...", server_config.host, server_config.port
203 )
204 logger.info("API endpoint: /glmocr/parse")
205 logger.info("=" * 60)
206 logger.info("")
207
208 app.run(
209 debug=server_config.debug,
210 host=server_config.host,
211 port=server_config.port,
212 )
213
214 except KeyboardInterrupt:
215 logger.info("Shutting down...")
216 except Exception as e:
217 logger.error("Error: %s", e)
218 logger.debug(traceback.format_exc())
219 sys.exit(1)
220 finally:

Callers 1

server.pyFile · 0.70

Calls 9

load_configFunction · 0.90
configure_loggingFunction · 0.90
create_appFunction · 0.85
infoMethod · 0.80
runMethod · 0.80
errorMethod · 0.80
debugMethod · 0.80
startMethod · 0.45
stopMethod · 0.45

Tested by

no test coverage detected