Example #1
0
 def build_arg_parser(cls, argparser, parent_parsers):
     try:
         import grin
         sp_grin = argparser.add_parser('grin',
                 parents=parent_parsers,
                 help='Use grin on the targetted files')
         grin.get_grin_arg_parser(sp_grin)
         sp_grin.set_defaults(func=do_grin)
     except ImportError:
         pass
Example #2
0
def get_grinpython_arg_parser(parser=None):
    """
    Create the command-line parser.
    """
    parser = grin.get_grin_arg_parser(parser)
    parser.set_defaults(include="*.py")
    parser.description = "Search Python code with strings, comments, and/or code removed."
    for action in parser._actions:
        if hasattr(action, "version"):
            action.version = "grinpython %s" % __version__

    group = parser.add_argument_group("Code Transformation")
    group.add_argument(
        "-p",
        "--python-code",
        action="store_true",
        help="Keep non-string, non-comment Python code.",
    )
    group.add_argument("-c",
                       "--comments",
                       action="store_true",
                       help="Keep Python comments.")
    group.add_argument(
        "-t",
        "--strings",
        action="store_true",
        help="Keep Python strings, especially docstrings.",
    )
    return parser
Example #3
0
def get_grinimports_arg_parser(parser=None):
    """
    Create the command-line parser.
    """
    parser = grin.get_grin_arg_parser(parser)
    parser.set_defaults(include="*.py")
    parser.description = (
        "Extract, normalize and search import statements from Python files.")
    parser.epilog = """
For example, if I have a file example.py with a bunch of imports:

    $ cat example.py
    import foo
    import foo.baz as blah
    from foo import bar, baz as bat

    def somefunction():
        "Do something to foo.baz"
        import from_inside.function

We can grep for 'import' in order to get all of the import statements:

    $ grinimports.py import example.py
    example.py:
        1 : import foo
        2 : import foo.baz as blah
        3 : from foo import bar
        4 : from foo import baz as bat
        5 : import from_inside.function

If we just want to find imports of foo.baz, we can do this:

    $ grinimports.py "import foo\.baz|from foo import baz" example.py
    example.py:
        2 : import foo.baz as blah
        4 : from foo import baz as bat

A typical grep (or grin) cannot find all of these in the original files because
the import statements are not normalized.

    $ grin "foo\.baz|from foo import baz" example.py
    example.py:
        2 : import foo.baz as blah
        6 :     "Do something to foo.baz"
"""
    for action in parser._actions:
        if hasattr(action, "version"):
            action.version = "grinpython %s" % __version__

    return parser
Example #4
0
def get_grinimports_arg_parser(parser=None):
    """ Create the command-line parser.
    """
    parser = grin.get_grin_arg_parser(parser)
    parser.set_defaults(include='*.py')
    parser.description = ("Extract, normalize and search import statements "
        "from Python files.")
    parser.epilog = """
For example, if I have a file example.py with a bunch of imports:

    $ cat example.py
    import foo
    import foo.baz as blah
    from foo import bar, baz as bat

    def somefunction():
        "Do something to foo.baz"
        import from_inside.function

We can grep for 'import' in order to get all of the import statements:

    $ grinimports.py import example.py
    example.py:
        1 : import foo
        2 : import foo.baz as blah
        3 : from foo import bar
        4 : from foo import baz as bat
        5 : import from_inside.function

If we just want to find imports of foo.baz, we can do this:

    $ grinimports.py "import foo\.baz|from foo import baz" example.py
    example.py:
        2 : import foo.baz as blah
        4 : from foo import baz as bat

A typical grep (or grin) cannot find all of these in the original files because
the import statements are not normalized.

    $ grin "foo\.baz|from foo import baz" example.py
    example.py:
        2 : import foo.baz as blah
        6 :     "Do something to foo.baz"
"""
    for action in parser._actions:
        if hasattr(action, 'version'):
            action.version = 'grinpython %s' % __version__

    return parser
Example #5
0
def get_grinpython_arg_parser(parser=None):
    """ Create the command-line parser.
    """
    parser = grin.get_grin_arg_parser(parser)
    parser.set_defaults(include='*.py')
    parser.description = ("Search Python code with strings, comments, and/or "
        "code removed.")
    for action in parser._actions:
        if hasattr(action, 'version'):
            action.version = 'grinpython %s' % __version__

    group = parser.add_argument_group('Code Transformation')
    group.add_argument('-p', '--python-code', action='store_true',
        help="Keep non-string, non-comment Python code.")
    group.add_argument('-c', '--comments', action='store_true',
        help="Keep Python comments.")
    group.add_argument('-t', '--strings', action='store_true',
        help="Keep Python strings, especially docstrings.")
    return parser
Example #6
0
def get_grinpython_arg_parser(parser=None):
    """ Create the command-line parser.
    """
    parser = grin.get_grin_arg_parser(parser)
    parser.set_defaults(include='*.py')
    parser.description = ("Search Python code with strings, comments, and/or "
        "code removed.")
    for action in parser._actions:
        if hasattr(action, 'version'):
            action.version = 'grinpython %s' % __version__

    group = parser.add_argument_group('Code Transformation')
    group.add_argument('-p', '--python-code', action='store_true',
        help="Keep non-string, non-comment Python code.")
    group.add_argument('-c', '--comments', action='store_true',
        help="Keep Python comments.")
    group.add_argument('-t', '--strings', action='store_true',
        help="Keep Python strings, especially docstrings.")
    return parser
from grin import get_grin_arg_parser
from genzshcomp import ZshCompletionGenerator

if __name__ == '__main__':
    generator = ZshCompletionGenerator("grin",
                                       get_grin_arg_parser())
    print generator.get()
from grin import get_grin_arg_parser
from genzshcomp import CompletionGenerator

if __name__ == '__main__':
    generator = CompletionGenerator("grin", get_grin_arg_parser())
    print generator.get()