Skip to content

Commit

Permalink
Alert user when falling back to 'serve'
Browse files Browse the repository at this point in the history
  • Loading branch information
jelmer committed Oct 20, 2024
1 parent 1adba23 commit 6d8b1c7
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 17 deletions.
6 changes: 3 additions & 3 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = []
extensions: list[str] = []

# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
templates_path: list[str] = ["_templates"]

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
exclude_patterns: list[str] = []


# -- Options for HTML output -------------------------------------------------
Expand Down
16 changes: 10 additions & 6 deletions xandikos/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
def set_default_subparser(self, argv, name):
subparser_found = False
for arg in argv:
if arg in ['-h', '--help', '--version']:
if arg in ["-h", "--help", "--version"]:
break
else:
for x in self._subparsers._actions:
Expand All @@ -39,6 +39,7 @@ def set_default_subparser(self, argv, name):
if sp_name in argv:
subparser_found = True
if not subparser_found:
print('No subcommand given, defaulting to "%s"' % name)
argv.insert(0, name)


Expand All @@ -54,14 +55,17 @@ async def main(argv):
version="%(prog)s " + ".".join(map(str, __version__)),
)

subparsers = parser.add_subparsers(help='Subcommands', dest='subcommand')
web.add_parser(subparsers)
subparsers = parser.add_subparsers(help="Subcommands", dest="subcommand")
web_parser = subparsers.add_parser(
"serve", usage="%(prog)s -d ROOT-DIR [OPTIONS]", help="Run a Xandikos server"
)
web.add_parser(web_parser)

set_default_subparser(parser, argv, 'serve')
set_default_subparser(parser, argv, "serve")
args = parser.parse_args(argv)

if args.subcommand == 'serve':
return await web.main(args)
if args.subcommand == "serve":
return await web.main(args, parser)
else:
parser.print_help()
return 1
Expand Down
17 changes: 9 additions & 8 deletions xandikos/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -1340,10 +1340,8 @@ async def redirect_to_subprefix(request):
web.run_app(app, port=port, host=listen_address, path=socket_path)


def add_parser(subparsers):
def add_parser(parser):
import argparse
parser = subparsers.add_parser(
'serve', usage="%(prog)s -d ROOT-DIR [OPTIONS]", help="Run a Xandikos server")

access_group = parser.add_argument_group(title="Access Options")
access_group.add_argument(
Expand Down Expand Up @@ -1434,10 +1432,7 @@ def add_parser(subparsers):
parser.add_argument("--index-threshold", type=int, help=argparse.SUPPRESS)



async def main(options):
import sys

async def main(options, parser):
if options.dump_dav_xml:
# TODO(jelmer): Find a way to propagate this without abusing
# os.environ.
Expand Down Expand Up @@ -1596,4 +1591,10 @@ async def redirect_to_subprefix(request):
if __name__ == "__main__":
import sys

sys.exit(asyncio.run(main(sys.argv[1:])))
import argparse

parser = argparse.ArgumentParser(usage="%(prog)s [options]")
add_parser(parser)
args = parser.parse_args(sys.argv[1:])

sys.exit(asyncio.run(main(args, parser)))

0 comments on commit 6d8b1c7

Please sign in to comment.