"""
import logging
+import re
from ..command import Command
from ..tools import launchEditor, yesOrNo
from ..config import ConfigObject, ConfigFileCouldNotBeLoaded
{
'help': 'flat list of the settings'
},
- []
+ [
+ (
+ ['-g', '--grep'],
+ {
+ 'metavar': 'string',
+ 'help': 'filter results using regular expressions'
+ }
+ ),
+ ]
),
'list': (
{
print u' ' * ident + '[%s]' % name
self.dictDisplay(setting, ident + 2)
- def flatDisplay(self, data, parent=''):
+ def flatDisplay(self, data, parent='', regex=None):
for name in sorted(data.keys()):
setting = data[name]
if type(setting) != dict:
+ if regex and not regex.search(parent + name):
+ continue
print u'%s: %s' % (parent + name, setting)
else:
- self.flatDisplay(setting, parent + name + u'.')
+ self.flatDisplay(setting, parent=parent + name + u'.', regex=regex)
def run(self, args):
if args.action == 'list':
current.write(new.read())
elif args.action == 'flatlist':
- self.flatDisplay(self.C.get())
+ regex = None
+ if args.grep:
+ regex = re.compile(args.grep, re.I)
+ self.flatDisplay(self.C.get(), regex=regex)
elif args.action == 'show':
setting = self.C.get(args.setting)