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 info(self, msg): 41 logging.info(msg) 42 def warning(self, msg): 43 logging.warning(msg) 44 45 46logging.root.setLevel(logging.INFO) 47 48pfw = PyPfw.ParameterFramework(sys.argv[1]) 49 50# warning: don't pass MyLogger() directly as argument to setLogger() or it will 51# be garbage collected 52mylogger = MyLogger() 53pfw.setLogger(mylogger); 54 55moodType = pfw.createSelectionCriterionType(False) 56for numerical, literal in enumerate(["mad", "sad", "glad"]): 57 moodType.addValuePair(numerical, literal) 58 59mood = pfw.createSelectionCriterion("Mood", moodType) 60 61ok, error = pfw.start() 62if not ok: 63 print("Error while starting the pfw: '{}'".format(error)) 64 65raw_input("[Press enter to exit]") 66