@property
    def rows(self):
        data = SMS.by_domain(
            self.domain,
            start_date=self.datespan.startdate_utc,
            end_date=self.datespan.enddate_utc
        ).filter(
            workflow__iexact=WORKFLOW_DEFAULT
        ).exclude(
            direction=OUTGOING,
            processed=False,
        ).order_by('date')
        result = []

        direction_map = {
            INCOMING: _("Incoming"),
            OUTGOING: _("Outgoing"),
        }
        reporting_locations_id = self.get_location_filter()

        contact_cache = {}
        for message in data:
            if reporting_locations_id and reporting_locations_id not in message.location_id:
                continue

            doc_info = self.get_recipient_info(message, contact_cache)
            phone_number = message.phone_number
            timestamp = ServerTime(message.date).user_time(self.timezone).done()
            result.append([
                self._fmt_timestamp(timestamp),
                self._fmt_contact_link(message, doc_info),
                _fmt(phone_number),
                _fmt(direction_map.get(message.direction, "-")),
                _fmt(message.text)
            ])

        return result
dataset/ETHPy150Open dimagi/commcare-hq/custom/ilsgateway/tanzania/reports/unrecognized_sms.py/UnrecognizedSMSReport.rows/swapped operands of `not in`