Skip to content

Commit

Permalink
Merge pull request #411 from datamade/dwe/attribute-errors
Browse files Browse the repository at this point in the history
handling some AttributeErrors
  • Loading branch information
derekeder authored Mar 16, 2024
2 parents f26d93d + 40e2d7e commit e587e77
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
7 changes: 6 additions & 1 deletion chicago/feeds.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from django.utils.feedgenerator import Rss201rev2Feed
from django.urls import reverse, reverse_lazy
from django.conf import settings
from sentry_sdk import capture_exception

from .models import ChicagoPerson, Bill, Organization, Event
from .utils import to_datetime
Expand Down Expand Up @@ -74,7 +75,11 @@ def item_link(self, bill):
return reverse("bill_detail", args=(bill.slug,))

def item_pubdate(self, bill):
return to_datetime(bill.last_action_date)
try:
return to_datetime(bill.last_action_date)
except AttributeError as e:
capture_exception(e)
return None

def description(self, obj):
return "Bills returned from search"
Expand Down
14 changes: 10 additions & 4 deletions chicago/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
from django.views.generic import TemplateView, DetailView, ListView
from haystack.generic_views import FacetedSearchView
from haystack.forms import FacetedSearchForm
from sentry_sdk import capture_exception

from opencivicdata.core.models import Membership
from opencivicdata.legislative.models import (
BillSponsorship,
Expand Down Expand Up @@ -614,10 +616,14 @@ def get_context_data(self, **kwargs):
event_orgs = event.participants.filter(entity_type="organization")
context["event_orgs"] = event_orgs
for event_org in event_orgs:
org_members = event_org.organization.memberships.filter(
start_date__lte=event.start_time, end_date__gte=event.start_time
).select_related("person__councilmatic_person")
expected_attendees.update([m.person for m in org_members])
try:
org_members = event_org.organization.memberships.filter(
start_date__lte=event.start_time, end_date__gte=event.start_time
).select_related("person__councilmatic_person")
expected_attendees.update([m.person for m in org_members])
except AttributeError as e:
# found an event without an organization
capture_exception(e)

attendees = set()
for event_person in event.attendance:
Expand Down

0 comments on commit e587e77

Please sign in to comment.