3 import argparse as _argparse
4 import logging as _logging
5 import wsgiref.simple_server as _wsgiref_simple_server
7 from . import __version__
8 from . import server as _server
11 LOG = _logging.getLogger(__name__)
14 def run(*args, **kwargs):
15 """Run the package-cache server using Python's WSGI reference server
17 parser = _argparse.ArgumentParser(description=__doc__)
19 '--version', action='version',
20 version='%(prog)s {}'.format(__version__))
22 '--host', metavar='HOSTNAME', default='localhost',
23 help='Host to listen as')
25 '--port', metavar='INT', default=4000, type=int,
26 help='Port to listen to')
28 '--source', metavar='URL', action='append',
29 help='URL for an upstream mirror')
31 '--cache', metavar='PATH', default='/tmp/package-cache',
32 help='Path to the package cache directory')
34 args = parser.parse_args()
36 server = _server.Server(sources=args.source or [], cache=args.cache)
37 wsgi = _wsgiref_simple_server.make_server(
38 host=args.host, port=args.port, app=server)
39 LOG.info('serving WSGI on {}:{}'.format(args.host, args.port))