summaryrefslogtreecommitdiff
path: root/processors
diff options
context:
space:
mode:
authorIan Clatworthy <ian.clatworthy@internode.on.net>2008-02-18 12:16:29 +1000
committerIan Clatworthy <ian.clatworthy@internode.on.net>2008-02-18 12:16:29 +1000
commit48a0231dd879fac6659943f3a0e184909ca6fed9 (patch)
treea3df710274df658999e77dfcb16a78a2c03b2012 /processors
parentc49f0e0831e07b61adf8ad81c89f293935e2c7e2 (diff)
downloadbzr-fastimport-48a0231dd879fac6659943f3a0e184909ca6fed9.tar.gz
filtering enhancements: selected fields, filecommands, non-verbose format
Diffstat (limited to 'processors')
-rw-r--r--processors/filter_processor.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/processors/filter_processor.py b/processors/filter_processor.py
index 5366dcc..b778cc1 100644
--- a/processors/filter_processor.py
+++ b/processors/filter_processor.py
@@ -29,16 +29,27 @@ class FilterProcessor(processor.ImportProcessor):
No changes to the current repository are made.
"""
- known_params = commands.COMMAND_NAMES
+ known_params = commands.COMMAND_NAMES + commands.FILE_COMMAND_NAMES
def __init__(self, target=None, params=None, verbose=False):
# Allow creation without a target
processor.ImportProcessor.__init__(self, target, params, verbose)
+ self.parsed_params = {}
+ if params:
+ for name, value in params.iteritems():
+ if value == 1:
+ # All fields
+ fields = None
+ else:
+ fields = value.split(',')
+ self.parsed_params[name] = fields
def pre_handler(self, cmd):
"""Hook for logic before each handler starts."""
- if self.params.get(cmd.name):
- print "%s" % (cmd,)
+ if self.parsed_params.has_key(cmd.name):
+ fields = self.parsed_params[cmd.name]
+ str = cmd.dump_str(fields, self.parsed_params, self.verbose)
+ print "%s" % (str,)
def progress_handler(self, cmd):
"""Process a ProgressCommand."""