parser.add_argument('--addons', metavar='ADDONS',
**required_or_default('ADDONS',
'colon-separated list of paths to addons'))
+def set_addons(args):
+ """
+ Turn args.addons into a list instead of a column-separated strings.
+ Set openerp.toools.config accordingly.
+ """
+ import openerp.tools.config
+ config = openerp.tools.config
+
+ assert hasattr(args, 'addons')
+ if args.addons:
+ args.addons = args.addons.split(':')
+ else:
+ args.addons = []
+
+ config['addons_path'] = ','.join(args.addons)
def get_addons_from_paths(paths, exclude):
"""
module_names = []
for p in paths:
if os.path.exists(p):
- names = list(set(os.listdir(p)))
- names = filter(lambda a: not (a.startswith('.') or a in exclude), names)
+ names = [n for n in os.listdir(p) if os.path.isfile(os.path.join(p, n, '__openerp__.py')) and not n.startswith('.') and n not in exclude]
+ names = filter(lambda a: os.path.isdir(os.path.join(p, a)), names)
+ names = filter(lambda a: os.path.exists(os.path.join(p, a, '__openerp__.py')), names)
module_names.extend(names)
else:
print "The addons path `%s` doesn't exist." % p
a mandatory argument.
"""
if os.environ.get('OPENERP_' + name.upper()):
- d = {'default': os.environ['OPENERP_' + name.upper()]}
+ d = {'default': os.environ['OPENERP_' + name.upper()]}
else:
- d = {'required': True}
+ d = {'required': True}
d['help'] = h + '. The environment variable OPENERP_' + \
- name.upper() + ' can be used instead.'
+ name.upper() + ' can be used instead.'
return d
class Command(object):
self.parser = parser = subparsers.add_parser(self.command_name,
description=self.__class__.__doc__)
else:
- self.parser = parser = argparse.ArgumentParser(
+ self.parser = parser = argparse.ArgumentParser(
description=self.__class__.__doc__)
parser.add_argument('-d', '--database', metavar='DATABASE',