Example #1
0
    def caveats_for(self, sel):
        """
        Returns a list of caveat questions that apply to a given selector type
        :param sel:
        :return:
        """
        if check_sel(sel):
            t_targets = self.targets_for(sel)
            return sorted(self._caveats.loc[self._caveats["TargetID"].isin(t_targets), "QuestionID"].unique().tolist())

        else:
            print ("Selector must be one of %s" % list(selectors))
Example #2
0
    def criteria_for(self, sel):
        """
        Returns a list of criteria questions limiting a given selector type
        :param sel:
        :return:
        """
        if check_sel(sel):
            t_targets = self.targets_for(sel)
            return sorted(
                self._criteria.loc[self._criteria["TargetID"].isin(t_targets), "QuestionID"].unique().tolist()
            )

        else:
            print ("Selector must be one of %s" % list(selectors))
    def criteria_for_set(self, sel):
        """
        Returns a list of criteria questions limiting a given selector type
        :param sel:
        :return:
        """
        if check_sel(sel):
            cri_filter = self._criteria[['QuestionID', 'TargetID']]
            cri_filter['Domain'] = cri_filter['TargetID'].map(lambda x: self._targets[int(x)].reference()[0])
            qs = list(set(
                [v['QuestionID'] for k, v in cri_filter.iterrows() if v['Domain'] == sel]))
            qs = sorted([k for k in qs if len(self._questions[k].satisfied_by) == 0])
            return qs

        else:
            print('Selector must be one of %s' % list(selectors))
Example #4
0
    def criteria_for_set(self, sel):
        """
        Returns a list of criteria questions limiting a given selector type
        :param sel:
        :return:
        """
        if check_sel(sel):
            cri_filter = self._criteria[['QuestionID', 'TargetID']]
            cri_filter['Domain'] = cri_filter['TargetID'].map(
                lambda x: self._targets[int(x)].reference()[0])
            qs = list(
                set([
                    v['QuestionID'] for k, v in cri_filter.iterrows()
                    if v['Domain'] == sel
                ]))
            qs = sorted(
                [k for k in qs if len(self._questions[k].satisfied_by) == 0])
            return qs

        else:
            print('Selector must be one of %s' % list(selectors))