Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
${PARAM:4:2} # start:len
${PARAM/substr/replace}
${PARAM^} # upper initial
${PARAM,} # lower initial
${PARAM^^} # upper
${PARAM,,} # lower
Comment lines start with '#'
Lines can be continued by adding '\' at the end
See https://www.tldp.org/LDP/Bash-Beginners-Guide/html/sect_10_03.html
(arrays not supported)
"""
parser = get_parser(formatter=argparse.RawDescriptionHelpFormatter)
parser.add_argument("component", nargs="?", help="Compenent to descend into").completer = \
ChoicesCompleter([c.name for c in Project().get_components()])
parser.add_argument("--branch", "-b", help="Branch to get active parameters for").completer = \
ChoicesCompleter(Git().get_branches())
parser.add_argument("--resolve-images", "-r", action="store_true", help="Also resolve subcomponent AMI IDs and docker repo urls")
subcomponent_group = parser.add_mutually_exclusive_group()
subcomponent_group.add_argument("--stack", "-s", help="CloudFormation subcomponent to descent into").completer = \
lambda prefix, parsed_args, **kwargs: component_typed_subcomponents("stack", prefix, parsed_args, **kwargs)
subcomponent_group.add_argument("--serverless", "-l", help="Serverless subcomponent to descent into").completer = \
lambda prefix, parsed_args, **kwargs: component_typed_subcomponents("serverless", prefix, parsed_args, **kwargs)
subcomponent_group.add_argument("--docker", "-d", help="Docker image subcomponent to descent into").completer = \
lambda prefix, parsed_args, **kwargs: component_typed_subcomponents("docker", prefix, parsed_args, **kwargs)
subcomponent_group.add_argument("--image", "-i", const="", nargs="?", help="AMI image subcomponent to descent into").completer = \
lambda prefix, parsed_args, **kwargs: component_typed_subcomponents("image", prefix, parsed_args, **kwargs)
subcomponent_group.add_argument("--cdk", "-c", help="CDK subcomponent to descent into").completer = \
lambda prefix, parsed_args, **kwargs: component_typed_subcomponents("cdk", prefix, parsed_args, **kwargs)
subcomponent_group.add_argument("--terraform", "-t", help="Terraform subcomponent to descent into").completer = \
lambda prefix, parsed_args, **kwargs: component_typed_subcomponents("terraform", prefix, parsed_args, **kwargs)
print('You can find them in', file, 'file')
if __name__ == "__main__":
parser = argparse.ArgumentParser()
countries = get_countries()
parser.add_argument("--rooms",
help='Add the number of rooms to the booking request.',
default=1,
type=int,
nargs='?')
parser.add_argument("--country",
help='Add the country to the booking request.',
default='Macedonia',
nargs='?').completer = ChoicesCompleter(countries)
parser.add_argument("--out_format",
help='Add the format for the output file. Add excel, json or csv.',
default='json',
choices=['json', 'excel', 'csv'],
nargs='?').completer = EnvironCompleter
argcomplete.autocomplete(parser)
args = parser.parse_args()
get_data(args.rooms, args.country, args.out_format)
def cli_mfa_to_qrcode():
""" Generates a QR code to import a token to other devices. """
parser = get_parser()
parser.add_argument("token_name",
help="Name of the token to use.").completer = \
ChoicesCompleter(list_mfa_tokens())
argcomplete.autocomplete(parser)
args = parser.parse_args()
mfa_to_qrcode(args.token_name)
gr_main = parser.add_argument_group("main options")
cmd = gr_main.add_argument("-f", "--file", metavar="FILE", action=LoadListFromFileAction, help="load a list of targets from a plain text file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(directories=False)
cmd = gr_main.add_argument("--config", metavar="FILE", help="global configuration file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".conf",), directories=False)
cmd = gr_main.add_argument("--user-config", metavar="FILE", help="per-user configuration file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".conf",), directories=False)
cmd = gr_main.add_argument("-p", "--profile", metavar="NAME", help="profile to use")
if autocomplete_enabled:
cmd.completer = profiles_completer
cmd = gr_main.add_argument("--ui-mode", metavar="MODE", help="UI mode")
if autocomplete_enabled:
cmd.completer = ChoicesCompleter(("console", "disabled")) ##, "web"))
gr_main.add_argument("-v", "--verbose", action="count", help="increase output verbosity")
gr_main.add_argument("-q", "--quiet", action="store_const", dest="verbose", const=0, help="suppress text output")
gr_main.add_argument("--color", action="store_true", default=None, dest="color", help="use colors in console output")
gr_main.add_argument("--no-color", action="store_false", default=None, dest="color", help="suppress colors in console output")
gr_audit = parser.add_argument_group("audit options")
gr_audit.add_argument("--audit-name", metavar="NAME", help="customize the audit name")
cmd = gr_audit.add_argument("-db", "--audit-db", metavar="DATABASE", dest="audit_db", help="specify a database filename")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".db",), directories=False)
gr_audit.add_argument("-nd", "--no-db", dest="audit_db", action="store_const", const=":memory:", help="do not store the results in a database")
cmd = gr_audit.add_argument("-i", "--input", dest="imports", metavar="FILENAME", action="append", help="read results from external tools right before the audit")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".csv", ".xml", ".nessus"), directories=False)
gr_audit.add_argument("-ni", "--no-input", dest="disable_importing", action="store_true", default=False, help="do not read results from external tools")
gr_report = parser.add_argument_group("report options")
@Commands.command(
'perm',
help='Set a group\'s permissions for a bundle.',
arguments=(
Commands.Argument('bundle_spec', help=BUNDLE_SPEC_FORMAT, nargs='+', completer=BundlesCompleter),
Commands.Argument('group_spec', help=GROUP_SPEC_FORMAT, completer=GroupsCompleter),
Commands.Argument('permission_spec', help=PERMISSION_SPEC_FORMAT, completer=ChoicesCompleter(['none', 'read', 'all'])),
Commands.Argument('-w', '--worksheet-spec', help='Operate on this worksheet (%s).' % WORKSHEET_SPEC_FORMAT, completer=WorksheetsCompleter),
),
)
def do_perm_command(self, args):
args.bundle_spec = spec_util.expand_specs(args.bundle_spec)
client, worksheet_uuid = self.parse_client_worksheet_uuid(args.worksheet_spec)
group = client.fetch('groups', args.group_spec)
bundle_uuids = self.resolve_bundle_uuids(client, worksheet_uuid, args.bundle_spec)
new_permission = parse_permission(args.permission_spec)
client.create('bundle-permissions', [{
'group': JsonApiRelationship('groups', group['id']),
'bundle': JsonApiRelationship('bundles', uuid),
'permission': new_permission,
names = []
base = get_default_plugins_folder()
for cat in CATEGORIES:
for (_, _, filenames) in os.walk(path.join(base, cat)):
for filename in filenames:
if filename.startswith(prefix):
name, ext = path.splitext(filename)
if ext.lower() == ".golismero":
names.append(name)
return names
parser = ArgumentParserWithBanner(fromfile_prefix_chars="@", add_help=False)
cmd = parser.add_argument("command", metavar="COMMAND", help="action to perform")
if autocomplete_enabled:
cmd.completer = ChoicesCompleter(COMMANDS + tuple(x.lower() for x in COMMANDS))
parser.add_argument("targets", metavar="TARGET", nargs="*", help="zero or more arguments, meaning depends on command")
parser.add_argument("-h", action=QuickHelpAction, default=argparse.SUPPRESS, help="show this help message and exit")
parser.add_argument("--help", action='help', default=argparse.SUPPRESS, help="show this help message and exit")
gr_main = parser.add_argument_group("main options")
cmd = gr_main.add_argument("-f", "--file", metavar="FILE", action=LoadListFromFileAction, help="load a list of targets from a plain text file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(directories=False)
cmd = gr_main.add_argument("--config", metavar="FILE", help="global configuration file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".conf",), directories=False)
cmd = gr_main.add_argument("--user-config", metavar="FILE", help="per-user configuration file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".conf",), directories=False)
cmd = gr_main.add_argument("-p", "--profile", metavar="NAME", help="profile to use")
gr_main = parser.add_argument_group("main options")
cmd = gr_main.add_argument("-f", "--file", metavar="FILE", dest="targets", action=LoadListFromFileAction, help="load a list of targets from a plain text file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(directories=False)
cmd = gr_main.add_argument("--config", metavar="FILE", help="global configuration file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".conf",), directories=False)
cmd = gr_main.add_argument("--user-config", metavar="FILE", help="per-user configuration file")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".conf",), directories=False)
cmd = gr_main.add_argument("-p", "--profile", metavar="NAME", help="profile to use")
if autocomplete_enabled:
cmd.completer = profiles_completer
cmd = gr_main.add_argument("--ui-mode", metavar="MODE", help="UI mode")
if autocomplete_enabled:
cmd.completer = ChoicesCompleter(("console", "disabled")) ##, "web"))
gr_main.add_argument("-v", "--verbose", action="count", help="increase output verbosity")
gr_main.add_argument("-q", "--quiet", action="store_const", dest="verbose", const=0, help="suppress text output")
gr_main.add_argument("--color", action="store_true", default=None, dest="color", help="use colors in console output")
gr_main.add_argument("--no-color", action="store_false", default=None, dest="color", help="suppress colors in console output")
gr_audit = parser.add_argument_group("audit options")
gr_audit.add_argument("--audit-name", metavar="NAME", help="customize the audit name")
cmd = gr_audit.add_argument("-db", "--audit-db", metavar="DATABASE", dest="audit_db", help="specify a database filename")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".db",), directories=False)
gr_audit.add_argument("-nd", "--no-db", dest="audit_db", action="store_const", const=":memory:", help="do not store the results in a database")
cmd = gr_audit.add_argument("-i", "--input", dest="imports", metavar="FILENAME", action="append", help="read results from external tools right before the audit")
if autocomplete_enabled:
cmd.completer = FilesCompleter(allowednames=(".csv", ".xml", ".nessus"), directories=False)
gr_audit.add_argument("-ni", "--no-input", dest="disable_importing", action="store_true", default=False, help="do not read results from external tools")
gr_report = parser.add_argument_group("report options")