def run(args): [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args) transform_module = None fix_binpath(config['default/path']) try: transform_module = import_transform(transform) if os.name == 'posix' and hasattr(transform_module.dotransform, 'privileged') and os.geteuid(): rc = sudo(sys.argv) if rc == 1: message(MaltegoTransformResponseMessage() + UIMessage('User cancelled transform.')) elif rc == 2: message(MaltegoTransformResponseMessage() + UIMessage('Too many incorrect password attempts.')) elif rc: message(MaltegoTransformResponseMessage() + UIMessage('Unknown error occurred.')) exit(0) if hasattr(transform_module, 'onterminate'): onterminate(transform_module.onterminate) else: transform_module.__setattr__('onterminate', lambda *args: exit(-1)) input_entity = to_entity(guess_entity_type(transform_module, fields), value, fields) msg = transform_module.dotransform( MaltegoTransformRequestMessage(value, fields, params, input_entity), MaltegoTransformResponseMessage()) if get_transform_version( transform_module.dotransform ) == 2 else transform_module.dotransform( MaltegoTransformRequestMessage(value, fields, params, input_entity), MaltegoTransformResponseMessage(), config) if isinstance(msg, MaltegoTransformResponseMessage): message(msg) elif isinstance(msg, basestring): raise MaltegoException(msg) else: raise MaltegoException( 'Could not resolve message type returned by transform.') except MaltegoException, me: croak(str(me))
def run(args): [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args) m = None pysudo = path.join(get_bin_dir(), 'pysudo') fix_binpath(config['default/path']) try: m = import_transform(transform) if name == 'posix' and hasattr(m.dotransform, 'privileged') and geteuid(): # Keep it for another day # if platform == 'darwin': # execvp( # 'osascript', # ['osascript', '-e', 'do shell script "%s" with administrator privileges' % ' '.join(sys.argv)] # ) # if sys.platform.startswith('linux') and path.exists("/usr/bin/gksudo"): # execvp('/usr/bin/gksudo', ['/usr/bin/gksudo'] + list(sys.argv)) # else: execvp(pysudo, [pysudo] + list(argv)) exit(-1) if hasattr(m, 'onterminate'): onterminate(m.onterminate) else: m.__setattr__('onterminate', lambda *args: exit(-1)) msg = m.dotransform( type( 'MaltegoTransformRequestMessage', (object,), { 'value' : value, 'fields' : fields, 'params' : params } )(), MaltegoTransformResponseMessage() ) if isinstance(msg, MaltegoTransformResponseMessage): message(msg) elif isinstance(msg, basestring): raise MaltegoException(msg) else: raise MaltegoException('Could not resolve message type returned by transform.') except MaltegoException, me: croak(str(me))
def run(args): [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args) m = None fix_binpath(config['default/path']) try: m = import_transform(transform) if os.name == 'posix' and hasattr(m.dotransform, 'privileged') and os.geteuid(): rc = sudo(sys.argv) if rc == 1: message(MaltegoTransformResponseMessage() + UIMessage('User cancelled transform.')) elif rc == 2: message(MaltegoTransformResponseMessage() + UIMessage('Too many incorrect password attempts.')) elif rc: message(MaltegoTransformResponseMessage() + UIMessage('Unknown error occurred.')) exit(0) if hasattr(m, 'onterminate'): onterminate(m.onterminate) else: m.__setattr__('onterminate', lambda *args: exit(-1)) msg = m.dotransform( type( 'MaltegoTransformRequestMessage', (object,), { 'value' : value, 'fields' : fields, 'params' : params } )(), MaltegoTransformResponseMessage() ) if isinstance(msg, MaltegoTransformResponseMessage): message(msg) elif isinstance(msg, basestring): raise MaltegoException(msg) else: raise MaltegoException('Could not resolve message type returned by transform.') except MaltegoException, me: croak(str(me))
def run(args): [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args) transform_module = None fix_binpath(config['default/path']) try: transform_module = import_transform(transform) if os.name == 'posix' and hasattr(transform_module.dotransform, 'privileged') and os.geteuid(): rc = sudo(sys.argv) if rc == 1: message(MaltegoTransformResponseMessage() + UIMessage('User cancelled transform.')) elif rc == 2: message(MaltegoTransformResponseMessage() + UIMessage('Too many incorrect password attempts.')) elif rc: message(MaltegoTransformResponseMessage() + UIMessage('Unknown error occurred.')) exit(0) if hasattr(transform_module, 'onterminate'): onterminate(transform_module.onterminate) else: transform_module.__setattr__('onterminate', lambda *args: exit(-1)) input_entity = to_entity(guess_entity_type(transform_module, fields), value, fields) msg = transform_module.dotransform( MaltegoTransformRequestMessage(value, fields, params, input_entity), MaltegoTransformResponseMessage() ) if get_transform_version(transform_module.dotransform) == 2 else transform_module.dotransform( MaltegoTransformRequestMessage(value, fields, params, input_entity), MaltegoTransformResponseMessage(), config ) if isinstance(msg, MaltegoTransformResponseMessage): message(msg) elif isinstance(msg, basestring): raise MaltegoException(msg) else: raise MaltegoException('Could not resolve message type returned by transform.') except MaltegoException, me: croak(str(me))
def run(args): [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args) m = None fix_binpath(config['default/path']) try: m = import_transform(transform) if name == 'posix' and hasattr(m.dotransform, 'privileged') and geteuid(): execvp('sudo', ['sudo'] + list(argv)) exit(-1) if hasattr(m, 'onterminate'): onterminate(m.onterminate) else: m.__setattr__('onterminate', lambda *args: exit(-1)) msg = m.dotransform( type( 'MaltegoTransformRequestMessage', (object,), { 'value' : value, 'fields' : fields, 'params' : params } )(), MaltegoTransformResponseMessage() ) if isinstance(msg, MaltegoTransformResponseMessage): console_message(msg) elif isinstance(msg, basestring): raise MaltegoException(msg) else: raise MaltegoException('Could not resolve message type returned by transform.') except MaltegoException, me: croak(str(me))
from common import cmd_name, import_transform, fix_binpath, fix_pypath, import_package, get_transform_version from canari.config import config __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.7' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Runs a transform server for the given packages.', usage='canari %s <transform package> [...]' % cmd_name(__name__)) parser.add_argument( 'packages', metavar='<package>', help= 'The name of the transform packages you wish to host (e.g. mypkg.transforms).', nargs='+') parser.add_argument('--port', metavar='<port>', default=-1, type=int, help='The port the server will run on.') parser.add_argument(
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Convert mixed entity type CSVs to separated CSV sheets.', usage='canari %s <graph csv> <sheet prefix>' % cmd_name(__name__) ) parser.add_argument( 'graph', metavar='<graph csv>', help='The CSV file containing the output from the mtgx2csv command.' ) parser.add_argument( 'prefix', metavar='<sheet prefix>', help='The prefix to prepend to the generated CSV files.' )
from re import sub __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.3' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description= 'Creates a new transform in the specified directory and auto-updates __init__.py.', usage='canari %s <transform name> [options]' % cmd_name(__name__)) parser.add_argument('transform', metavar='<transform name>', help='The name of the transform you wish to create.') parser.add_argument( '-d', '--transform-dir', metavar='<dir>', help='The directory in which you wish to create the transform.', default=None) def help_(): parser.print_help()
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Runs Canari local transforms in a terminal-friendly fashion.', usage='canari %s <transform> [param1 ... paramN] <value> [field1=value1...#fieldN=valueN]' % cmd_name(__name__) ) parser.add_argument( 'transform', metavar='<transform>', help='The name of the transform you wish to run (e.g. canari.transforms.nmapfastscan).' ) parser.add_argument( 'value', metavar='<value>', help='The value of the input entity being passed into the local transform.' ) parser.add_argument(
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.6' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Runs a transform server for the given packages.', usage='canari %s <transform package> [...]' % cmd_name(__name__) ) parser.add_argument( 'packages', metavar='<package>', help='The name of the transform packages you wish to host (e.g. mypkg.transforms).', nargs='+' ) parser.add_argument( '--port', metavar='<port>', default=-1, type=int, help='The port the server will run on.'
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Creates a new transform in the specified directory and auto-updates __init__.py.', usage='canari %s <transform name> [options]' % cmd_name(__name__) ) parser.add_argument( 'transform', metavar='<transform name>', help='The name of the transform you wish to create.' ) parser.add_argument( '-d', '--transform-dir', metavar='<dir>', help='The directory in which you wish to create the transform.', default=None )
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.3' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Convert mixed entity type CSVs to separated CSV sheets.', usage='canari %s <graph csv> [sheet prefix]' % cmd_name(__name__) ) parser.add_argument( 'graph', metavar='<graph csv>', help='The CSV file containing the output from the mtgx2csv command.' ) parser.add_argument( 'prefix', metavar='[sheet prefix]', nargs='?', help='The prefix to prepend to the generated CSV files.' )
__author__ = "Nadeem Douba" __copyright__ = "Copyright 2012, Canari Project" __credits__ = [] __license__ = "GPL" __version__ = "0.1" __maintainer__ = "Nadeem Douba" __email__ = "*****@*****.**" __status__ = "Development" parser = ArgumentParser( description="Deletes a transform in the specified directory and auto-updates __init__.py.", usage="canari %s <transform name> [options]" % cmd_name(__name__), ) parser.add_argument("transform", metavar="<transform name>", help="The name of the transform you wish to delete.") parser.add_argument( "-d", "--transform-dir", metavar="<dir>", help="The directory from which you wish to delete the transform.", default=getcwd(), ) def help(): parser.print_help()
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Convert Maltego graph files (*.mtgx) to comma-separated values (CSV) file.', usage='canari %s <graph>' % cmd_name(__name__) ) parser.add_argument( 'graph', metavar='<graph>', help='The name of the graph file you wish to convert to CSV.', ) def parse_args(args): return parser.parse_args(args) def help(): parser.print_help()
__credits__ = [] __license__ = "GPL" __version__ = "0.5" __maintainer__ = "Nadeem Douba" __email__ = "*****@*****.**" __status__ = "Development" # Dictionary of detected transforms transforms = {} # Argument parser parser = ArgumentParser( description="Installs and configures canari transform packages in Maltego's UI", usage="canari %s <package> [options]" % cmd_name(__name__), ) parser.add_argument("package", metavar="<package>", help="the name of the canari transforms package to install.") parser.add_argument( "-w", "--working-dir", metavar="[working dir]", default=os.path.join(os.path.expanduser("~"), ".canari"), help="the path that will be used as the working directory for the transforms being installed (default: current working directory)", ) parser.add_argument( "-s", "--settings-dir", metavar="[settings dir]", default=detect_settings_dir,
from common import read_template, write_template, build_skeleton, cmd_name __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Sets up Canari Plume directory structure and configuration files.', usage='canari %s [--install-dir <dir>]' % cmd_name(__name__) ) parser.add_argument( '-d', '--install-dir', metavar='<dir>', help='The name of the canari package you wish to create.', default=os.getcwd() ) def write_setup(base_dir, values): plume_sh = os.path.join(base_dir, 'plume.sh') write_template(os.path.join(base_dir, 'canari.conf'), read_template('canari', values)) write_template(os.path.join(base_dir, 'plume.py'), read_template('plume_wsgi', values))
from common import read_template, write_template, build_skeleton, cmd_name __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description= 'Sets up Canari Plume directory structure and configuration files.', usage='canari %s [--install-dir <dir>]' % cmd_name(__name__)) parser.add_argument('-d', '--install-dir', metavar='<dir>', help='The name of the canari package you wish to create.', default=os.getcwd()) def write_setup(base_dir, values): plume_sh = os.path.join(base_dir, 'plume.sh') write_template(os.path.join(base_dir, 'canari.conf'), read_template('canari', values)) write_template(os.path.join(base_dir, 'plume.py'), read_template('plume_wsgi', values)) write_template(plume_sh, read_template('plume_sh', values))
__author__ = "Nadeem Douba" __copyright__ = "Copyright 2012, Canari Project" __credits__ = [] __license__ = "GPL" __version__ = "0.4" __maintainer__ = "Nadeem Douba" __email__ = "*****@*****.**" __status__ = "Development" parser = ArgumentParser( description="Runs a transform server for the given packages.", usage="canari %s <transform package> [...]" % cmd_name(__name__), ) parser.add_argument( "packages", metavar="<package>", help="The name of the transform packages you wish to host (e.g. mypkg.transforms).", nargs="+", ) parser.add_argument("--port", metavar="<port>", default=-1, type=int, help="The port the server will run on.") parser.add_argument( "--disable-ssl", action="store_true", default=False,
import canari __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.7' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Creates a Canari transform package skeleton.', usage='canari %s <package name>' % cmd_name(__name__) ) parser.add_argument( 'package', metavar='<package name>', help='The name of the canari package you wish to create.' ) def write_setup(package_name, values): write_template(path.join(package_name, '.canari'), read_template('_canari', values)) write_template(path.join(package_name, 'setup.py'), read_template('setup', values)) write_template(path.join(package_name, 'README.md'), read_template('README', values)) write_template(path.join(package_name, 'MANIFEST.in'), read_template('MANIFEST', values))
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Show banner of Canari framework that is currently active.', usage='canari %s' % cmd_name(__name__) ) def help(): parser.print_help() def description(): return parser.description def run(args): print """ Your running ... _________ _____ _______ _______
from argparse import ArgumentParser from sys import modules import canari __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.2' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Show version of Canari framework that is currently active.', usage='canari %s' % cmd_name(__name__)) def help_(): parser.print_help() def description(): return parser.description def run(args): print 'Your running *Canari Framework v%s*' % canari.__version__
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.5' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Runs Canari local transforms in a terminal-friendly fashion.', usage= 'canari %s <transform> [param1 ... paramN] <value> [field1=value1...#fieldN=valueN]' % cmd_name(__name__)) parser.add_argument( 'transform', metavar='<transform>', help= 'The name of the transform you wish to run (e.g. sploitego.transforms.nmapfastscan).' ) parser.add_argument( 'value', metavar='<value>', help='The value of the input entity being passed into the local transform.' ) parser.add_argument(
__author__ = "Nadeem Douba" __copyright__ = "Copyright 2012, Canari Project" __credits__ = [] __license__ = "GPL" __version__ = "0.2" __maintainer__ = "Nadeem Douba" __email__ = "*****@*****.**" __status__ = "Development" cmds = get_commands() cmds.update({"help": modules[__name__]}) parser = ArgumentParser( description="Shows help related to various canari commands", usage="canari %s <command>" % cmd_name(__name__) ) parser.add_argument( "command", metavar="<command>", choices=cmds, default="help", nargs="?", help="The canari command you want help for (%s)" % ", ".join(cmds), ) def help_(): parser.print_help()
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.2' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' cmds = get_commands() cmds.update({'help': modules[__name__]}) parser = ArgumentParser( description='Shows help related to various canari commands', usage='canari %s <command>' % cmd_name(__name__)) parser.add_argument('command', metavar='<command>', choices=cmds, default='help', nargs='?', help='The canari command you want help for (%s)' % ', '.join(cmds)) def help_(): parser.print_help() def description():
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' cmds = get_commands() cmds.update({'help': modules[__name__]}) parser = ArgumentParser( description='Shows help related to various canari commands', usage='canari %s <command>' % cmd_name(__name__) ) parser.add_argument( 'command', metavar='<command>', choices=cmds, default='help', nargs='?', help='The canari command you want help for (%s)' % ', '.join(cmds) ) def help(): parser.print_help()
__status__ = 'Development' __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description= 'Converts Maltego entity definition files to Canari python classes. Excludes Maltego built-in entities.', usage='canari %s [output file] [options]' % cmd_name(__name__)) parser.add_argument('outfile', metavar='[output file]', help='Which file to write the output to.', default=None, nargs='?') parser.add_argument( '--mtz-file', '-m', metavar='<mtzfile>', help='A *.mtz file containing an export of Maltego entities.', required=False) parser.add_argument(
__email__ = '*****@*****.**' __status__ = 'Development' __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.1' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Converts Maltego entity definition files to Canari python classes. Excludes Maltego built-in entities.', usage='canari %s [output file] [options]' % cmd_name(__name__) ) parser.add_argument( 'outfile', metavar='[output file]', help='Which file to write the output to.', default=None, nargs='?' ) parser.add_argument( '--mtz-file', '-m', metavar='<mtzfile>', help='A *.mtz file containing an export of Maltego entities.',
__license__ = 'GPL' __version__ = '0.2' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' # Dictionary of detected transforms transforms = {} transformsets = {} # Argument parser parser = ArgumentParser( description="Creates an importable Maltego profile (*.mtz) file.", usage='canari %s <package> [options]' % cmd_name(__name__) ) parser.add_argument( 'package', metavar='<package>', help='the name of the canari transforms package to install.' ) parser.add_argument( '-w', '--working-dir', metavar='[working dir]', default=os.path.join(os.path.expanduser('~'), '.canari'), help='the path that will be used as the working directory for the transforms being installed (default: current working directory)' )
__author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.6' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description='Creates a Canari transform package skeleton.', usage='canari %s <package name>' % cmd_name(__name__) ) parser.add_argument( 'package', metavar='<package name>', help='The name of the canari package you wish to create.' ) def write_setup(package_name, values): write_template(path.join(package_name, '.canari'), read_template('_canari', values)) write_template(path.join(package_name, 'setup.py'), read_template('setup', values)) write_template(path.join(package_name, 'README.md'), read_template('README', values)) write_template(path.join(package_name, 'MANIFEST.in'), read_template('MANIFEST', values))
from os import path __author__ = "Nadeem Douba" __copyright__ = "Copyright 2012, Canari Project" __credits__ = [] __license__ = "GPL" __version__ = "0.5" __maintainer__ = "Nadeem Douba" __email__ = "*****@*****.**" __status__ = "Development" parser = ArgumentParser( description="Creates a Canari transform package skeleton.", usage="canari %s <package name>" % cmd_name(__name__) ) parser.add_argument("package", metavar="<package name>", help="The name of the canari package you wish to create.") def write_setup(package_name, values): write_template(path.join(package_name, ".canari"), read_template("_canari", values)) write_template(path.join(package_name, "setup.py"), read_template("setup", values)) write_template(path.join(package_name, "README.md"), read_template("README", values)) write_template(path.join(package_name, "MANIFEST.in"), read_template("MANIFEST", values)) def write_root(base, init): write_template(path.join(base, "__init__.py"), init + generate_all("resources", "transforms"))
__credits__ = [] __license__ = 'GPL' __version__ = '0.4' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' # Dictionary of detected transforms transforms = {} # Argument parser parser = ArgumentParser( description="Installs and configures canari transform packages in Maltego's UI", usage='canari %s <package> [options]' % cmd_name(__name__) ) parser.add_argument( 'package', metavar='<package>', help='the name of the canari transforms package to install.' ) parser.add_argument( '-w', '--working-dir', metavar='[working dir]', default=os.path.join(os.path.expanduser('~'), '.canari'), help='the path that will be used as the working directory for the transforms being installed (default: current working directory)' ) parser.add_argument(
from zipfile import ZipFile __author__ = 'Nadeem Douba' __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' __version__ = '0.4' __maintainer__ = 'Nadeem Douba' __email__ = '*****@*****.**' __status__ = 'Development' parser = ArgumentParser( description= 'Convert Maltego graph files (*.mtgx) to comma-separated values (CSV) file.', usage='canari %s <graph>' % cmd_name(__name__)) parser.add_argument( 'graph', metavar='<graph>', help='The name of the graph file you wish to convert to CSV.', ) def parse_args(args): return parser.parse_args(args) def help_(): parser.print_help()