예제 #1
0
from scorecard_processor.plugins.input.multi_choices import register, MultiChoiceField
from decimal import Decimal

class AidTypes(MultiChoiceField):
    name = "Aid types"
    def __init__(self, *args, **kwargs):
        super(AidTypes,self).__init__(*args, **kwargs)
        self.choices = (
            ('financial',_('Financial support')),
            ('technical',_('Technical assistance (non-financial)')),
            ('lobbying',_('Lobbying/advocay - non-financial')),
            ('other',_('Other (please specify in Voluntary additional information)'))
        )
        self.widget.choices = self.choices

register.register('input','IHP field','aid_types', AidTypes)

class RepresentedTypes(MultiChoiceField):
    name = "CSO Representation Types"
    def __init__(self, *args, **kwargs):
        super(RepresentedTypes,self).__init__(*args, **kwargs)
        self.choices = (
            ("maternal",_("Maternal Health")),
            ("child",_("Child Health")),
            ("maleria",_("Malaria")),
            ("hiv",_("HIV/AIDS")),
            ("tb",_("TB")),
            ("systems",_("Health Systems Strengthening (Governance, Financing, HRH, Information Systems, Medicines, service delivery)")),
            ("nutrition",_("Nutrition")),
            ("international",_("International NGO")),
            ("national",_("National NGO")),
예제 #2
0
    def process(self):
        values = self.get_arguments().items.get_values()
        output_values = []

        for value in values:
            output_values.append(len(value.get_value()) >= self.get_config('threshold'))

        if len(values):
            output = (100 * Decimal(output_values.count(True)) / Decimal(len(output_values))).quantize(Decimal('1.0'))
        else:
            output = Decimal("0.0")

        return self.output_type(output)

register.register('process','IHP field','list_perc', CountValues)


class FourPointScale(ChoiceField):
    name = "Four point perfomance scale"
    def __init__(self, *args, **kwargs):
        super(FourPointScale,self).__init__(*args,**kwargs)
        self.choices = (
                ('',''),
                ('a',_('A')),
                ('b',_('B')),
                ('c',_('C')),
                ('d',_('D')),
            )

register.register('input','IHP field','four_point', FourPointScale)