courtbot-python icon indicating copy to clipboard operation
courtbot-python copied to clipboard

event object does not have Docket attribute

Open hiroTochigi opened this issue 5 years ago • 2 comments

I executed Courtbot API at my local environment, and I got an error. Then, I found that event object does not have Docket attribute.

The below code is a part of api/views.py

@csrf_exempt
def case(request):
    if request.method == 'GET':
        year = request.GET.get('year', 'NOT PROVIDED')
        county = request.GET.get('county', 'NOT PROVIDED')
        case_num = request.GET.get('case_num', 'NOT PROVIDED')

        try:
            case = oscn.request.Case(year=year, county=county, number=case_num)
        except Exception as exc:
            print(exc)
            err_msg = (
                f'Unable to find case with the following information: '
                f'year {year}, county {county}, case number {case_num}')
            return JsonResponse({'error': err_msg})

        arraignment_event = find_arraignment_or_return_False(case.events)
------------------------------------------------------------------------------------------------------
                                                .
                                                . 
                                                .
-------------------------------------------------------------------------------------------------------
def find_arraignment_or_return_False(events):
    for event in events:
        if "arraignment" in event.Docket.lower():
            return event
    return False

The case object is returned from oscn, then its events value goes into the
find_arraignment_or_return_False() method. Then, events is iterated as event inside the find_arraignment_or_return_False() However, event object does not have Docket attribute. The event object has the following attributes.

  1. Amount
  2. Code
  3. Count
  4. Date
  5. Description
  6. Party

hiroTochigi avatar Jan 07 '21 02:01 hiroTochigi

I think that the same problem happens at https://court.bot

I will experiment various Court Case Number to see what happen

hiroTochigi avatar Jan 19 '21 22:01 hiroTochigi

I found out that if the case like below, oscn sends back events list. However, each event object in events list is an empty list-like object. Then, the court bot blows up because it accesses to a Docket attribute which does not exist. In order to handle this error, it is just to needed to handle this error. I will make a pull request to handle this error, so at least we prevent the court bot from halting suddenly. However, I have never encountered the an event object having Docket attribute with data even though I have encountered the event object having a Docket attribute with empty list. I picked up case numbers from 12/2020 to 1/2021 randomly, so I will extend the duration of case number samples to the past date.

image

hiroTochigi avatar Jan 26 '21 02:01 hiroTochigi