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