Use argparse to expose refresher thread controls.
This commit is contained in:
		
							parent
							
								
									9fe7057021
								
							
						
					
					
						commit
						201ae70ba0
					
				
					 1 changed files with 41 additions and 17 deletions
				
			
		|  | @ -4,16 +4,13 @@ logging.getLogger('googleapicliet.discovery_cache').setLevel(logging.ERROR) | ||||||
| import gevent.monkey | import gevent.monkey | ||||||
| gevent.monkey.patch_all() | gevent.monkey.patch_all() | ||||||
| 
 | 
 | ||||||
|  | import argparse | ||||||
| import gevent.pywsgi | import gevent.pywsgi | ||||||
| import sys | import sys | ||||||
| 
 | 
 | ||||||
| import ycdl_flask | import ycdl_flask | ||||||
| 
 | 
 | ||||||
| if len(sys.argv) == 2: | def ycdl_flask_launch(port, refresh_rate): | ||||||
|     port = int(sys.argv[1]) |  | ||||||
| else: |  | ||||||
|     port = 5000 |  | ||||||
| 
 |  | ||||||
|     if port == 443: |     if port == 443: | ||||||
|         http = gevent.pywsgi.WSGIServer( |         http = gevent.pywsgi.WSGIServer( | ||||||
|             listener=('', port), |             listener=('', port), | ||||||
|  | @ -27,6 +24,33 @@ else: | ||||||
|             application=ycdl_flask.site, |             application=ycdl_flask.site, | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  |     if refresh_rate is not None: | ||||||
|  |         ycdl_flask.ycdl_flask.start_refresher_thread(refresh_rate) | ||||||
| 
 | 
 | ||||||
| print('Starting server on port %d' % port) |     print(f'Starting server on port {port}') | ||||||
|     http.serve_forever() |     http.serve_forever() | ||||||
|  | 
 | ||||||
|  | def ycdl_flask_launch_argparse(args): | ||||||
|  |     if args.do_refresh: | ||||||
|  |         refresh_rate = args.refresh_rate | ||||||
|  |     else: | ||||||
|  |         refresh_rate = None | ||||||
|  | 
 | ||||||
|  |     return ycdl_flask_launch( | ||||||
|  |         port=args.port, | ||||||
|  |         refresh_rate=refresh_rate, | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | def main(argv): | ||||||
|  |     parser = argparse.ArgumentParser(description=__doc__) | ||||||
|  | 
 | ||||||
|  |     parser.add_argument('port', nargs='?', type=int, default=5000) | ||||||
|  |     parser.add_argument('--no_refresh', dest='do_refresh', action='store_false', default=True) | ||||||
|  |     parser.add_argument('--refresh_rate', dest='refresh_rate', type=int, default=60 * 60 * 6) | ||||||
|  |     parser.set_defaults(func=ycdl_flask_launch_argparse) | ||||||
|  | 
 | ||||||
|  |     args = parser.parse_args(argv) | ||||||
|  |     return args.func(args) | ||||||
|  | 
 | ||||||
|  | if __name__ == '__main__': | ||||||
|  |     raise SystemExit(main(sys.argv[1:])) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue