]> git.nothing2do.fr Git - get-hack-src.git/commitdiff
Added auto install and uninstall of entities and machines during install-package...
authorallfro <ndouba@gmail.com>
Sun, 9 Dec 2012 00:10:23 +0000 (19:10 -0500)
committerallfro <ndouba@gmail.com>
Sun, 9 Dec 2012 00:10:23 +0000 (19:10 -0500)
src/canari/commands/common.py
src/canari/commands/create_package.py
src/canari/commands/create_transform.py
src/canari/commands/delete_transform.py
src/canari/commands/install_package.py
src/canari/commands/rename_transform.py
src/canari/commands/uninstall_package.py
src/canari/config.py
src/canari/utils/fs.py

index 5c7931ab52bc90c8e76b15bad64d6cc5aad95943..1433cdaf32ba1c5de58296b1d31d760565b599ca 100644 (file)
@@ -39,9 +39,9 @@ def get_commands(module='canari.commands'):
 
 
 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: ')
@@ -50,9 +50,9 @@ def _detect_settings_dir(d):
             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))
@@ -62,11 +62,11 @@ def _detect_settings_dir(d):
 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
index a4ff4f06ed29cfe0788a89a3ba7fd1afb5536db7..7d62dfedc887619903b32e43923d6c2ffc721d56 100644 (file)
@@ -5,7 +5,7 @@ from common import read_template, write_template, generate_all, build_skeleton,
 from argparse import ArgumentParser
 from datetime import datetime
 from getpass import getuser
-from os import path, sep
+from os import path
 
 
 __author__ = 'Nadeem Douba'
@@ -32,42 +32,42 @@ parser.add_argument(
 
 
 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)
     )
 
@@ -76,27 +76,27 @@ def write_common(transforms, init, 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)
     )
 
@@ -159,9 +159,9 @@ def run(args):
 
     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)
index e1a5b842911a3a43b0f371aa32ea0721f8d86921..c9a35d550383f73da3daa6b3ce2d81f8b43a941d 100644 (file)
@@ -4,7 +4,7 @@ from common import write_template, read_template, cmd_name, init_pkg
 
 
 from argparse import ArgumentParser
-from os import path, sep, getcwd
+from os import path, getcwd
 from re import sub
 
 
@@ -56,10 +56,10 @@ def run(args):
 
     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))
index faed7c1f4f3f68f4d7398eb100b1ba6b260a161b..6bed2645a000d6a413731b0424b1761a3afecb93 100644 (file)
@@ -2,7 +2,7 @@
 
 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
 
@@ -55,9 +55,9 @@ def run(args):
 
     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))
index 3141acd70ebfad34b9fbf616f3e23db717a18423..2d457e4ac875a03f474865b7c22c9b5c40c37077 100644 (file)
@@ -8,8 +8,8 @@ from common import detect_settings_dir, cmd_name, fix_pypath, get_bin_dir, impor
 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
@@ -85,12 +85,12 @@ def parse_args(args):
 # 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):
 
@@ -104,10 +104,10 @@ def install_transform(module, name, author, spec, prefix, working_dir):
 
         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(
@@ -127,7 +127,7 @@ def install_transform(module, name, author, spec, prefix, working_dir):
         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')),
@@ -135,7 +135,7 @@ def install_transform(module, name, author, spec, prefix, working_dir):
             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):
@@ -180,7 +180,7 @@ def installconf(opts, args):
     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 '',
@@ -189,8 +189,8 @@ def installconf(opts, args):
 
     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):
@@ -282,6 +282,7 @@ def run(args):
         pass
 
     print ('Looking for transforms in %s.transforms' % opts.package)
+    m = None
     try:
         m = import_package('%s.transforms' % opts.package)
     except ImportError, e:
index d56b45c23849a9d638d85bdd61aedc4bf6847f8f..cd3edacd9a8cb75c8a31117b3d12d2e93a7ddf7c 100644 (file)
@@ -2,7 +2,7 @@
 
 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
 
@@ -61,11 +61,11 @@ def run(args):
 
     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))
index 9ab1f609ddc93d8344ec1cacd22f8e2318bbdbf1..c360f432054432b2e20743f79a691c77ba32489c 100644 (file)
@@ -2,9 +2,9 @@
 
 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
 
 
@@ -76,27 +76,27 @@ def uninstallmachines(package, prefix):
 
 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)
index e25c79026e382d4c8e0465a4664004add128afff..d8cdc82f8fee63ee13b4663583079fe7493a9bf1 100644 (file)
@@ -4,7 +4,7 @@ from resource import conf
 
 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
 
@@ -101,8 +101,8 @@ class CanariConfigParser(SafeConfigParser):
 
 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
index 028719324ca3eda40bbf1872a027af2fc2a5ad70..1b74a0c4f47709fb56add50e064c651e0470f1dc 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
@@ -50,7 +50,7 @@ if name == 'nt':
 
 
 def cookie(name):
-    return sep.join([gettempdir(), name])
+    return path.join(gettempdir(), name)
 
 
 class fsemaphore(file):