• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#! /usr/bin/env python
2# Copyright (c) 2015, Intel Corporation
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without modification,
6# are permitted provided that the following conditions are met:
7#
8# 1. Redistributions of source code must retain the above copyright notice, this
9# list of conditions and the following disclaimer.
10#
11# 2. Redistributions in binary form must reproduce the above copyright notice,
12# this list of conditions and the following disclaimer in the documentation and/or
13# other materials provided with the distribution.
14#
15# 3. Neither the name of the copyright holder nor the names of its contributors
16# may be used to endorse or promote products derived from this software without
17# specific prior written permission.
18#
19# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
23# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30import PyPfw
31import sys
32import logging
33
34class MyLogger(PyPfw.ILogger):
35    def __init__(self):
36        # Calling the base constructor is necessary: if you don't, MyLogger
37        # won't be recognised as a derived class of PyPfw.ILogger
38        super(MyLogger, self).__init__()
39
40    def log(self, is_warning, log):
41        log_func = logging.warning if is_warning else logging.info
42        log_func(log)
43
44
45logging.root.setLevel(logging.INFO)
46
47pfw = PyPfw.ParameterFramework(sys.argv[1])
48
49# warning: don't pass MyLogger() directly as argument to setLogger() or it will
50# be garbage collected
51mylogger = MyLogger()
52pfw.setLogger(mylogger);
53
54moodType = pfw.createSelectionCriterionType(False)
55for numerical, literal in enumerate(["mad", "sad", "glad"]):
56    moodType.addValuePair(numerical, literal)
57
58mood = pfw.createSelectionCriterion("Mood", moodType)
59
60ok, error = pfw.start()
61if not ok:
62    print("Error while starting the pfw: {}".format(error))
63
64raw_input("[Press enter to exit]")
65