/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.64.12 by Ian Clatworthy
lightweight tags, filter processor and param validation
1
# Copyright (C) 2008 Canonical Ltd
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
0.64.111 by Ian Clatworthy
rename fast-import-filter to fast-import-query
17
"""Import processor that queries the input (and doesn't import)."""
0.64.12 by Ian Clatworthy
lightweight tags, filter processor and param validation
18
19
20
from bzrlib.plugins.fastimport import (
21
    commands,
22
    processor,
23
    )
24
25
0.64.111 by Ian Clatworthy
rename fast-import-filter to fast-import-query
26
class QueryProcessor(processor.ImportProcessor):
27
    """An import processor that queries the input.
0.64.12 by Ian Clatworthy
lightweight tags, filter processor and param validation
28
29
    No changes to the current repository are made.
30
    """
31
0.64.19 by Ian Clatworthy
filtering enhancements: selected fields, filecommands, non-verbose format
32
    known_params = commands.COMMAND_NAMES + commands.FILE_COMMAND_NAMES
0.64.12 by Ian Clatworthy
lightweight tags, filter processor and param validation
33
34
    def __init__(self, target=None, params=None, verbose=False):
35
        # Allow creation without a target
36
        processor.ImportProcessor.__init__(self, target, params, verbose)
0.64.19 by Ian Clatworthy
filtering enhancements: selected fields, filecommands, non-verbose format
37
        self.parsed_params = {}
38
        if params:
39
            for name, value in params.iteritems():
40
                if value == 1:
41
                    # All fields
42
                    fields = None
43
                else:
44
                    fields = value.split(',')
45
                self.parsed_params[name] = fields
0.64.12 by Ian Clatworthy
lightweight tags, filter processor and param validation
46
47
    def pre_handler(self, cmd):
48
        """Hook for logic before each handler starts."""
0.64.19 by Ian Clatworthy
filtering enhancements: selected fields, filecommands, non-verbose format
49
        if self.parsed_params.has_key(cmd.name):
50
            fields = self.parsed_params[cmd.name]
51
            str = cmd.dump_str(fields, self.parsed_params, self.verbose)
52
            print "%s" % (str,)
0.64.12 by Ian Clatworthy
lightweight tags, filter processor and param validation
53
54
    def progress_handler(self, cmd):
55
        """Process a ProgressCommand."""
56
        pass
57
58
    def blob_handler(self, cmd):
59
        """Process a BlobCommand."""
60
        pass
61
62
    def checkpoint_handler(self, cmd):
63
        """Process a CheckpointCommand."""
64
        pass
65
66
    def commit_handler(self, cmd):
67
        """Process a CommitCommand."""
68
        for fc in cmd.file_iter():
69
            pass
70
71
    def reset_handler(self, cmd):
72
        """Process a ResetCommand."""
73
        pass
74
75
    def tag_handler(self, cmd):
76
        """Process a TagCommand."""
77
        pass