added a flask venv
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# coding: utf-8
|
||||
#
|
||||
# Copyright © 2010—2014 Andrey Mikhaylenko and contributors
|
||||
#
|
||||
# This file is part of Argh.
|
||||
#
|
||||
# Argh is free software under terms of the GNU Lesser
|
||||
# General Public License version 3 (LGPLv3) as published by the Free
|
||||
# Software Foundation. See the file README.rst for copying conditions.
|
||||
#
|
||||
"""
|
||||
Helpers
|
||||
~~~~~~~
|
||||
"""
|
||||
import argparse
|
||||
|
||||
from argh.completion import autocomplete
|
||||
from argh.assembling import add_commands, set_default_command
|
||||
from argh.dispatching import PARSER_FORMATTER, ArghNamespace, dispatch
|
||||
|
||||
|
||||
__all__ = ['ArghParser']
|
||||
|
||||
|
||||
class ArghParser(argparse.ArgumentParser):
|
||||
"""
|
||||
A subclass of :class:`ArgumentParser` with support for and a couple
|
||||
of convenience methods.
|
||||
|
||||
All methods are but wrappers for stand-alone functions
|
||||
:func:`~argh.assembling.add_commands`,
|
||||
:func:`~argh.completion.autocomplete` and
|
||||
:func:`~argh.dispatching.dispatch`.
|
||||
|
||||
Uses :attr:`~argh.dispatching.PARSER_FORMATTER`.
|
||||
"""
|
||||
def __init__(self, *args, **kwargs):
|
||||
kwargs.setdefault('formatter_class', PARSER_FORMATTER)
|
||||
super(ArghParser, self).__init__(*args, **kwargs)
|
||||
|
||||
def set_default_command(self, *args, **kwargs):
|
||||
"Wrapper for :func:`~argh.assembling.set_default_command`."
|
||||
return set_default_command(self, *args, **kwargs)
|
||||
|
||||
def add_commands(self, *args, **kwargs):
|
||||
"Wrapper for :func:`~argh.assembling.add_commands`."
|
||||
return add_commands(self, *args, **kwargs)
|
||||
|
||||
def autocomplete(self):
|
||||
"Wrapper for :func:`~argh.completion.autocomplete`."
|
||||
return autocomplete(self)
|
||||
|
||||
def dispatch(self, *args, **kwargs):
|
||||
"Wrapper for :func:`~argh.dispatching.dispatch`."
|
||||
return dispatch(self, *args, **kwargs)
|
||||
|
||||
def parse_args(self, args=None, namespace=None):
|
||||
"""
|
||||
Wrapper for :meth:`argparse.ArgumentParser.parse_args`. If `namespace`
|
||||
is not defined, :class:`argh.dispatching.ArghNamespace` is used.
|
||||
This is required for functions to be properly used as commands.
|
||||
"""
|
||||
namespace = namespace or ArghNamespace()
|
||||
return super(ArghParser, self).parse_args(args, namespace)
|
||||
Reference in New Issue
Block a user