def _annotate_ineligibility(self):
        for event in self.personal_history.rap_sheet.events:
            for case_info in event.associated_cases:
                for count in case_info.counts:
                    if count.disposition.disposition_decision == DispositionDecision.CONVICTED:
                        self._annotate_count_eligibility(case_info, count)

                event_ineligibility_reasons = []
                if not SanMateoCountyCourt.contains_city(event.arrest_info.city):
                    event_ineligibility_reasons.append(IneligibilityReason.NOT_IN_SAN_MATEO_COUNTY)
                if not case_info.sentence.probation_duration:
                    event_ineligibility_reasons.append(IneligibilityReason.PROBATION_NOT_PART_OF_SENTENCE)
                incarceration = case_info.sentence.incarceration
                if incarceration and incarceration == IncarcerationType.PRISON:
                    event_ineligibility_reasons.append(IneligibilityReason.PRISON_TIME_GRANTED)

                for count in case_info.counts:
                    count.ineligible_for_expungement_reasons.extend(event_ineligibility_reasons)
Esempio n. 2
0
    def _annotate_ineligibility(self):
        for event in self.personal_history.rap_sheet.events:
            for case_info in event.associated_cases:
                for count in case_info.counts:
                    if count.disposition.disposition_decision == DispositionDecision.CONVICTED:
                        self._annotate_count_eligibility(case_info, count)

                event_ineligibility_reasons = []
                if not SanMateoCountyCourt.contains_city(
                        event.arrest_info.city):
                    event_ineligibility_reasons.append(
                        IneligibilityReason.NOT_IN_SAN_MATEO_COUNTY)
                if not case_info.sentence.probation_duration:
                    event_ineligibility_reasons.append(
                        IneligibilityReason.PROBATION_NOT_PART_OF_SENTENCE)
                incarceration = case_info.sentence.incarceration
                if incarceration and incarceration == IncarcerationType.PRISON:
                    event_ineligibility_reasons.append(
                        IneligibilityReason.PRISON_TIME_GRANTED)

                for count in case_info.counts:
                    count.ineligible_for_expungement_reasons.extend(
                        event_ineligibility_reasons)