def _detect_settings_dir(d):
- vs = [ i for i in listdir(d) if path.isdir(sep.join([d, i])) if path.isdir(sep.join([d, i, 'config']))]
+ vs = [ i for i in listdir(d) if path.isdir(path.join(d, i)) if path.isdir(path.join(d, i, 'config'))]
if len(vs) == 1:
- return sep.join([d, vs[0]])
+ return path.join(d, vs[0])
else:
while True:
print('Multiple versions of Maltego detected: ')
r = raw_input('Please select which version you wish to use [0]: ')
try:
if not r:
- return sep.join([d, vs[0]])
+ return path.join(d, vs[0])
elif int(r) < len(vs):
- return sep.join([d, vs[int(r)]])
+ return path.join(d, vs[int(r)])
except ValueError:
pass
print('Invalid selection... %s' % repr(r))
def detect_settings_dir():
d = None
if platform.startswith('linux'):
- d = _detect_settings_dir(sep.join([path.expanduser('~'), '.maltego']))
+ d = _detect_settings_dir(path.join(path.expanduser('~'), '.maltego'))
elif platform == 'darwin':
- d = _detect_settings_dir(sep.join([path.expanduser('~'), 'Library', 'Application Support', 'maltego']))
+ d = _detect_settings_dir(path.join(path.expanduser('~'), 'Library', 'Application Support', 'maltego'))
elif platform == 'win32':
- d = _detect_settings_dir(sep.join([environ['APPDATA'], '.maltego']))
+ d = _detect_settings_dir(path.join(environ['APPDATA'], '.maltego'))
else:
raise NotImplementedError('Unknown or unsupported OS: %s' % repr(platform))
return d
from argparse import ArgumentParser
from datetime import datetime
from getpass import getuser
-from os import path, sep
+from os import path
__author__ = 'Nadeem Douba'
def write_setup(package_name, values):
- write_template(sep.join([package_name, '.canari']), read_template('_canari', values))
- write_template(sep.join([package_name, 'setup.py']), read_template('setup', values))
- write_template(sep.join([package_name, 'README.md']), read_template('README', values))
- write_template(sep.join([package_name, 'MANIFEST.in']), read_template('MANIFEST', 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(
- sep.join([base, '__init__.py']),
+ path.join(base, '__init__.py'),
init + generate_all('resources', 'transforms')
)
def write_resources(package_name, resources, init, values):
write_template(
- sep.join([resources, '__init__.py']),
+ path.join(resources, '__init__.py'),
init + generate_all('etc', 'images', 'maltego')
)
write_template(
- sep.join([resources, 'etc', '__init__.py']),
+ path.join(resources, 'etc', '__init__.py'),
init
)
write_template(
- sep.join([resources, 'images', '__init__.py']),
+ path.join(resources, 'images', '__init__.py'),
init
)
write_template(
- sep.join([resources, 'maltego', '__init__.py']),
+ path.join(resources, 'maltego', '__init__.py'),
init
)
write_template(
- sep.join([resources, 'etc', '%s.conf' % package_name]),
+ path.join(resources, 'etc', '%s.conf' % package_name),
read_template('conf', values)
)
if values['example']:
write_template(
- sep.join([transforms, '__init__.py']),
+ path.join(transforms, '__init__.py'),
init + generate_all('common', 'helloworld')
)
write_template(
- sep.join([transforms, 'helloworld.py']),
+ path.join(transforms, 'helloworld.py'),
read_template('transform', values)
)
else:
write_template(
- sep.join([transforms, '__init__.py']),
+ path.join(transforms, '__init__.py'),
init + generate_all('common')
)
write_template(
- sep.join([transforms, 'common', '__init__.py']),
+ path.join(transforms, 'common', '__init__.py'),
init + generate_all('entities')
)
write_template(
- sep.join([transforms, 'common', 'entities.py']),
+ path.join(transforms, 'common', 'entities.py'),
read_template('entities', values)
)
ask_user(values)
- base = sep.join([package_name, 'src', package_name])
- transforms = sep.join([base, 'transforms'])
- resources = sep.join([base, 'resources'])
+ base = path.join(package_name, 'src', package_name)
+ transforms = path.join(base, 'transforms')
+ resources = path.join(base, 'resources')
if not path.exists(package_name):
print('creating skeleton in %s' % package_name)
from argparse import ArgumentParser
-from os import path, sep, getcwd
+from os import path, getcwd
from re import sub
opts = parse_args(args)
- initf = sep.join([opts.transform_dir, '__init__.py'])
+ initf = path.join(opts.transform_dir, '__init__.py')
transform = opts.transform
directory = opts.transform_dir
- transformf = sep.join([directory, transform if transform.endswith('.py') else '%s.py' % transform ])
+ transformf = path.join(directory, transform if transform.endswith('.py') else '%s.py' % transform )
if not path.exists(initf):
print ('Directory %s does not appear to be a python package directory... quitting!' % repr(opts.transform_dir))
from common import cmd_name
-from os import path, sep, getcwd, unlink
+from os import path, getcwd, unlink
from argparse import ArgumentParser
from re import sub
opts = parse_args(args)
- initf = sep.join([opts.transform_dir, '__init__.py'])
+ initf = path.join(opts.transform_dir, '__init__.py')
transform = opts.transform
- transformf = sep.join([opts.transform_dir, transform if transform.endswith('.py') else '%s.py' % transform ])
+ transformf = path.join(opts.transform_dir, transform if transform.endswith('.py') else '%s.py' % transform )
if not path.exists(initf):
print ('Directory %s does not appear to be a python package directory... quitting!' % repr(opts.transform_dir))
from ..maltego.message import ElementTree
from pkg_resources import resource_filename, resource_listdir
-from xml.etree.cElementTree import XML, Element, SubElement
-from os import sep, path, mkdir, chdir, getcwd, name
+from xml.etree.cElementTree import XML, SubElement
+from os import path, mkdir, chdir, getcwd, name
from argparse import ArgumentParser
from re import findall, sub
from zipfile import ZipFile
# Logic to install transforms
def install_transform(module, name, author, spec, prefix, working_dir):
- installdir = sep.join([prefix, 'config', 'Maltego', 'TransformRepositories', 'Local'])
+ installdir = path.join(prefix, 'config', 'Maltego', 'TransformRepositories', 'Local')
if not path.exists(installdir):
mkdir(installdir)
- setsdir = sep.join([prefix, 'config', 'Maltego', 'TransformSets'])
+ setsdir = path.join(prefix, 'config', 'Maltego', 'TransformSets')
for i,n in enumerate(spec.uuids):
sets = None
if spec.inputs[i][0] is not None:
- setdir = sep.join([setsdir, spec.inputs[i][0]])
+ setdir = path.join(setsdir, spec.inputs[i][0])
if not path.exists(setdir):
mkdir(setdir)
- open(sep.join([setdir, n]), 'w').close()
+ open(path.join(setdir, n), 'w').close()
sets=TransformSet(spec.inputs[i][0])
transform = MaltegoTransform(
transform.sets
- ElementTree(transform).write(sep.join([installdir, '%s.transform' % n]))
+ ElementTree(transform).write(path.join(installdir, '%s.transform' % n))
transformsettings = TransformSettings(properties=[
CmdLineTransformPropertySetting(path.join(get_bin_dir(), 'dispatcher')),
CmdCwdTransformPropertySetting(working_dir),
CmdDbgTransformPropertySetting(spec.debug)
])
- ElementTree(transformsettings).write(sep.join([installdir, '%s.transformsettings' % n]))
+ ElementTree(transformsettings).write(path.join(installdir, '%s.transformsettings' % n))
def writeconf(sf, df, **kwargs):
src = resource_filename('canari.resources.template', 'canari.plate')
writeconf(
src,
- sep.join([opts.working_dir, 'canari.conf']),
+ path.join(opts.working_dir, 'canari.conf'),
sub=True,
command=' '.join(['canari install'] + args),
config=('%s.conf' % opts.package) if opts.package != 'canari' else '',
if opts.package != 'canari':
src = resource_filename('%s.resources.etc' % opts.package, '%s.conf' % opts.package)
- writeconf(src, sep.join([opts.working_dir, '%s.conf' % opts.package]), sub=False)
- updateconf('%s.conf' % opts.package, sep.join([opts.working_dir, 'canari.conf']))
+ writeconf(src, path.join(opts.working_dir, '%s.conf' % opts.package), sub=False)
+ updateconf('%s.conf' % opts.package, path.join(opts.working_dir, 'canari.conf'))
def installmtz(package, prefix):
pass
print ('Looking for transforms in %s.transforms' % opts.package)
+ m = None
try:
m = import_package('%s.transforms' % opts.package)
except ImportError, e:
from common import cmd_name
-from os import path, sep, getcwd, rename
+from os import path, getcwd, rename
from argparse import ArgumentParser
from re import sub
opts = parse_args(args)
- initf = sep.join([opts.transform_dir, '__init__.py'])
+ initf = path.join(opts.transform_dir, '__init__.py')
transform = opts.transform
- transformf = sep.join([opts.transform_dir, transform if transform.endswith('.py') else '%s.py' % transform ])
+ transformf = path.join(opts.transform_dir, transform if transform.endswith('.py') else '%s.py' % transform )
dtransform = opts.new_transform
- dtransformf = sep.join([opts.transform_dir, dtransform if dtransform.endswith('.py') else '%s.py' % dtransform ])
+ dtransformf = path.join(opts.transform_dir, dtransform if dtransform.endswith('.py') else '%s.py' % dtransform )
if not path.exists(initf):
print ('Directory %s does not appear to be a python package directory... quitting!' % repr(opts.transform_dir))
from common import detect_settings_dir, cmd_name, fix_pypath, import_package, import_transform
-from xml.etree.cElementTree import ElementTree, SubElement, XML
-from pkg_resources import resource_listdir, resource_filename
-from os import sep, path, mkdir, listdir, unlink, rmdir
+from xml.etree.cElementTree import ElementTree, XML
+from os import path, mkdir, listdir, unlink, rmdir
+from pkg_resources import resource_listdir
from argparse import ArgumentParser
def uninstall_transform(module, spec, prefix):
- installdir = sep.join([prefix, 'config', 'Maltego', 'TransformRepositories', 'Local'])
+ installdir = path.join(prefix, 'config', 'Maltego', 'TransformRepositories', 'Local')
if not path.exists(installdir):
mkdir(installdir)
- setsdir = sep.join([prefix, 'config', 'Maltego', 'TransformSets'])
+ setsdir = path.join(prefix, 'config', 'Maltego', 'TransformSets')
for i,n in enumerate(spec.uuids):
print ('Uninstalling transform %s from %s...' % (n, module))
if spec.inputs[i][0] is not None:
- setdir = sep.join([setsdir, spec.inputs[i][0]])
- f = sep.join([setdir, n])
+ setdir = path.join(setsdir, spec.inputs[i][0])
+ f = path.join(setdir, n)
if path.exists(f):
unlink(f)
if path.exists(setdir) and not listdir(setdir):
rmdir(setdir)
- tf = sep.join([installdir, '%s.transform' % n])
- tsf = sep.join([installdir, '%s.transformsettings' % n])
+ tf = path.join(installdir, '%s.transform' % n)
+ tsf = path.join(installdir, '%s.transformsettings' % n)
if path.exists(tf):
unlink(tf)
from re import findall, search, match, split
from ConfigParser import SafeConfigParser
-from os import environ, getcwd, sep
+from os import environ, getcwd, path
from utils.wordlist import wordlist
from urlparse import urlsplit
config = CanariConfigParser()
-dconf = sep.join([ conf ])
-lconf = sep.join([ getcwd(), 'canari.conf' ])
+dconf = path.join( conf )
+lconf = path.join( getcwd(), 'canari.conf' )
config.read([ dconf , lconf ])
config.read(config['default/configs'])
\ No newline at end of file
#!/usr/bin/env python
-from os import path, name, sep, stat
+from os import path, name, stat
from tempfile import gettempdir
from sys import maxint
from time import time
def cookie(name):
- return sep.join([gettempdir(), name])
+ return path.join(gettempdir(), name)
class fsemaphore(file):