~bladernr/checkbox/1095713-set-pipefail-on-sleep-jobs

« back to all changes in this revision

Viewing changes to checkbox/parsers/utils.py

  • Committer: Jeff Lane
  • Date: 2011-05-31 21:18:19 UTC
  • mfrom: (916.1.1 checkbox.story_235)
  • Revision ID: jeffrey.lane@canonical.com-20110531211819-u7n89r76t2t98u0j
Applied Marc Tardifs changes to allow for remote submission (send results from a system other than the system under test)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# This file is part of Checkbox.
 
3
#
 
4
# Copyright 2011 Canonical Ltd.
 
5
#
 
6
# Checkbox is free software: you can redistribute it and/or modify
 
7
# it under the terms of the GNU General Public License as published by
 
8
# the Free Software Foundation, either version 3 of the License, or
 
9
# (at your option) any later version.
 
10
#
 
11
# Checkbox is distributed in the hope that it will be useful,
 
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
# GNU General Public License for more details.
 
15
#
 
16
# You should have received a copy of the GNU General Public License
 
17
# along with Checkbox.  If not, see <http://www.gnu.org/licenses/>.
 
18
#
 
19
 
 
20
 
 
21
def implement_from_dict(class_name, methods=[], superclass=object):
 
22
    """Return a class that implements empty methods.
 
23
 
 
24
    :param superclass: The superclass of the class to be generated.
 
25
    :param methods: A list of method names to implement as empty.
 
26
    """
 
27
    def empty(*args, **kwargs):
 
28
        pass
 
29
 
 
30
    class_dict = {}
 
31
    for method in methods:
 
32
        class_dict[method] = empty
 
33
 
 
34
    if not isinstance(superclass, tuple):
 
35
        superclass = (superclass,)
 
36
    return type(class_name, superclass, class_dict)